Android - ActionBarSherlock - Установить цвет текста в меню

Я хочу изменить белый цвет текста на оранжевый.

Вот пример.

ActionBarSherlock


person Paulo Blasterx    schedule 25.05.2012    source источник


Ответы (2)


Это можно сделать, установив некоторые стили для панели действий. Это объясняется в этом сообщении блога http://android-developers.blogspot.com.au/2011/04/customizing-action-bar.html

Вам нужно установить это в своем стиле для вашего приложения.

<style name="MyTheme" parent="android:style/Theme.Holo.Light">
     <item name="android:dropDownListViewStyle">@style/MyDropDownListView</item>
</style>

Затем вы можете указать этот стиль с вашим собственным цветом текста.

<!-- style the items within the overflow menu -->
<style name="MyDropDownListView" parent="android:style/Widget.Holo.ListView.DropDown">
    <!-- This is the orange text color -->
    <item name="android:textColor">#CC3232</item>
</style>
person Cassie    schedule 14.06.2012
comment
Ну это на самом деле не работает для меня. Элемент DropDown здесь имеет только селекторы фона. - person redestructa; 28.08.2013
comment
Работает на меня! На самом деле я разрабатываю Xamarin Android и везде искал это решение. После бесчисленных поисков в Google я наконец наткнулся на это и попробовал, и это сработало как шарм. Вы не представляете, как хорошо, что это подменю наконец-то стало синим, ха-ха. - person TeamChillshot; 20.02.2014

Вы можете легко изменить цвет текста MenuItem, используя SpannableString вместо String.

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.your_menu, menu);

    int positionOfMenuItem = 0; // or whatever...
    MenuItem item = menu.getItem(positionOfMenuItem);
    SpannableString s = new SpannableString("My red MenuItem");
    s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
    item.setTitle(s);
}
person max.mustermann    schedule 25.09.2013