メニュー項目のタイトルのテキストの色を変更する方法。以下のように変更しようとしました
<style name="Theme.Kanku.ActionBar.TitleTextStyle" parent="@Android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="Android:textColor">@color/white</item>
</style>
ただし、アクションバーのタイトルテキストの色のみが変更され、メニュー項目のテキストの色は変更されません。
次のようなものを試してください:
<style name="ThemeName" parent="@style/Theme.Sherlock.Light">
<item name="actionMenuTextColor">@color/white</item>
<item name="Android:actionMenuTextColor">@color/white</item>
</style>
いくつか試してみましたが、何もうまくいきませんでした。最後に、これはトリックを行いました:
<style name="your_theme" parent="your_parent">
<item name="Android:itemTextAppearance">@style/TextAppearance</item>
</style>
<style name="TextAppearance">
<item name="Android:textColor">@Android:color/black</item>
</style>
Sherlockテーマを使用しませんでした。これはHolo.Light.DarkActionBarで機能しました。
これらのすべてを試して、それらが機能しないようにした後、私は次のようにプログラムでそれを試しました:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.changeip_card_menu, menu);
for(int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
SpannableString spanString = new SpannableString(menu.getItem(i).getTitle().toString());
spanString.setSpan(new ForegroundColorSpan(Color.WHITE), 0, spanString.length(), 0); //fix the color to white
item.setTitle(spanString);
}
return true;
}
これは毎回動的に機能します。この場合、テキストの色は白に変更されます。簡単に、Color.WHITEをColor.whatever-color-you-wantに変更して、好きな色に変更します。
メニュー項目のテキストの色を更新するには、themes.xmlを変更する必要があります。次の答えは、sherlock.actionbarに対するものです。 themes.xmlファイルに次の行を追加します。
<style name="Theme.Mytheme" parent="@style/Theme.Sherlock">
<item name="actionMenuTextColor">@color/mycolor</item>
<item name="Android:actionMenuTextColor">@color/mycolor</item>
</style>
これは私のために働いた:
<style name="AppBaseTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
<item name="Android:textAppearanceLargePopupMenu">@style/MyOverflowItemCollor</item>
</style>
<style name="MyOverflowItemCollor" parent="Android:TextAppearance.Holo.Widget.PopupMenu.Large">
<item name="Android:textColor">#ffffff</item>
</style>
AppThemeがAndroid:Theme.Holo.Light.DarkActionBarの場合、アクションメニュースタイルを変更するには、カスタムactionBarWidgetThemeを設定する必要があります。このような:
<style name="AppTheme" parent="Android:Theme.Holo.Light.DarkActionBar">
<item name="Android:actionBarWidgetTheme">@style/ActionBarWidget</item>
<item name="Android:actionMenuTextColor">@color/{custom_menu_item_text_color}</item>
</style>
<style name="MenuItemText">
<item name="Android:textColor">@color/{custom_menu_item_text_color}</item>
</style>
<style name="ActionBarWidget" parent="@Android:style/Theme.Holo">
<item name="Android:itemTextAppearance">@style/MenuItemText</item>
</style>
以下のコードを使用してください
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorWhite</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorPrimaryDark</item>
<item name="Android:actionMenuTextColor">@color/colorWhite</item>
</style>
DarkActionBarを使用する場合、style.xmlの2行の下に追加します
完全なコードを以下に示します
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="actionMenuTextColor">@color/green</item>
<item name="Android:actionMenuTextColor">@color/green</item>
</style>
次の行を実行するだけで、アクションアイテムの色を変更できます。
<item name="Android:actionMenuTextColor">@color/selected_text_color</item>
このように申請できます.
<style name="your_theme" parent="your_parent">
<item name="Android:actionMenuTextColor">@color/selected_text_color</item>
</style>
私の場合
<style name="MyTheme" parent="@Android:style/Theme.Holo.Light">
<item name="Android:actionMenuTextColor">@color/selected_text_color</item>
</style>
次のコード行をstyle。xmlファイルに追加して、オプションメニューのテキストの色をblackに変更します。
<style name="optionMenuTextApearance" parent="@Android:style/TextAppearance.Widget.IconMenu.Item">
<item name="Android:textColor">@color/colorBlack</item>
</style>
次に、この1行のコードをテーマに追加して、オプションメニューテキストの色を変更します。
<item name="Android:itemTextAppearance">@style/optionMenuTextApearance</item>
うまくいきました、ありがとう。