Как изменить цвет текста пункта меню в теме 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>