2015-07-30 2 views
1

У меня черный фон с белыми буквами.Как изменить цвет текста элемента меню в теме 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> 

Normal:

Normal

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

Menu

ответ

0

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

@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> 
1

Изменить стиль так:

<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