3

私はたくさん検索しましたが、私の問題を解決できませんでした。アプリのアクション バーをカスタマイズしたい。

私はこのようにactiongを呼び出しています:

public boolean onCreateOptionsMenu(Menu menu) {
 super.onCreateOptionsMenu(menu);
 /*
  *  menu.add(int groupId, int itemId, int order, CharSequence title);
  */
 MenuItem menu0 = menu.add(0, 0, 0, "Action Item 0");
 {
  menu0.setIcon(R.drawable.ic_launcher);
  menu0.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
 }
 return true;
}

そして私のstyle.xml:

<resources>

<style name="AppBaseTheme" parent="android:Theme.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="AppTheme" parent="AppBaseTheme">

</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:textColor">#CCCCCC</item>
</style>

ただし、テキストカラーはデフォルト (# FFF) のままで、すべてを試しましたが、どこが間違っているのかわかりません。助けていただければ幸いです。ありがとうございました!

4

2 に答える 2

4

これを試して:

<style name="AppBaseTheme" parent="android:Theme.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="AppTheme" parent="AppBaseTheme">

</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:textColor">#CCCCCC</item>
    <item name="textColor">#CCCCCC</item>
</style>

使用する API が原因で、削除するandroid:が機能する場合があります

また、次のように色を定義してcolor.xml使用してみてください。

 <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:textColor">@color/mColor</item>
        <item name="textColor">@color/mColor</item>
 </style>

編集:

<style name="MyActionBar"parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:titleTextColor">@style/MyTheme.ActionBar.TitleTextColor</item>
</style>

<style name="MyActionBar.TitleTextColor" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">@color/mColor</item>
</style>
于 2012-12-24T13:14:50.703 に答える
3

みんなありがとう、私はこのチュートリアルでやりたいことをやった:http://shreymalhotra.me/blog/tutorial/android/android-create-custom-themes-for-your-apps/

これを onCreate() に追加しました:

final ActionBar bar = getActionBar();

タイトルの色を変更するには、style.xml は次のようになります。

    <style name="Theme.MyAppTheme" parent="android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/Theme.MyAppTheme.ActionBar</item>
</style>

<style name="Theme.MyAppTheme.ActionBar" parent="android:style/Widget.Holo.ActionBar">
    <item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
</style>

<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">#ccc</item>
</style>

Obs: よくわかりませんが、私の最初のスタイルは oncreate() メソッドのその行で機能すると思います。

于 2012-12-24T13:59:01.900 に答える