Как изменить цвет текста пункта меню в теме Theme.AppCompat.Light.DarkActionBar?

У меня черный фон с белыми буквами.

Есть идеи? Благодарю.

        <style name="PacerTheme"            
                parent="@style/Theme.AppCompat.Light.DarkActionBar">                                
            <item name="android:itemBackground">@android:color/black</item>
            <item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>                                           
        </style>

        <style name="myCustomMenuTextApearance" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
            <item name="android:textColor">@android:color/white</item>             
        </style>

Нормальный:

Нормальный

Нажмите на кнопку меню и покажите:

Меню

2 ответа

Измените стиль следующим образом:

<style name="PacerTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>                                           
</style>

<style name="myCustomMenuTextApearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
    <item name="android:textColor">@android:color/white</item>
</style>

Для стиля "myCustomMenuTextApearance" используйте для родителя

@android:style/TextAppearance.Widget.IconMenu.Item

вместо

@style/Widget.AppCompat.Light.ActionBar.Solid

Я нашел решение, программа изменения цвета текста, следующим образом:

  @Override
  public boolean onPrepareOptionsMenu(Menu menu) 
  {
    for(int i=0; i<menu.size(); i++) 
    {
        MenuItem mi = menu.getItem(i);
        String title = mi.getTitle().toString();
        Spannable newTitle = new SpannableString(title);        
        newTitle.setSpan(new ForegroundColorSpan(Color.WHITE), 0, newTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        mi.setTitle(newTitle);
    }
    return true;
  }

XML выглядит следующим образом:

 <style name="PacerTheme"            
        parent="@style/Theme.AppCompat.Light.DarkActionBar">                                
        <item name="android:itemBackground">@android:color/black</item>                                         
 </style>
Другие вопросы по тегам