Меню скинов Android
Я пытаюсь скрыть меню опций на Android. У меня цвет фона изменен с помощью настраиваемой темы, но по какой-то причине я не могу изменить цвет текста.
Моя тема
<style name="default" parent="@android:style/Theme.NoTitleBar">
<!-- Menu panel colors -->
<item name="android:panelBackground">@color/optionsMenuBackgroundColor</item>
<item name="android:panelFullBackground">@color/optionsMenuBackgroundColor</item>
<!-- Menu item colors -->
<item name="android:itemTextAppearance">@style/OptionsMenuFont</item>
</style>
Мой стиль для шрифта меню параметров
<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@drawable/menu_item_font</item>
</style>
Мое выделение для селектора цвета кнопки menu_item_font.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Put other state colors up top -->
<item android:color="@color/optionsMenuTextColor" />
</selector>
Этот цвет является только шестнадцатеричным цветом # c4c4c4
Что мне здесь не хватает?
Ответы
Ответ 1
Этот вопрос задавался по-разному несколько раз. С помощью XML-макетов вы можете изменить цвет фона, но не можете изменить цвет текста:
http://code.google.com/p/android/issues/detail?id=4441
Однако вы можете написать собственный класс, чтобы выполнить скинирование меню:
http://www.techjini.com/blog/customizing-background-and-text-color-in-options-menu-android/
Ответ 2
Вы можете изменить цвет текста, но он должен находиться под тегом textColor. Вы не можете поместить drawable в любой textColor (ни в стилях, ни в макетах). Если вы хотите изменить цвет, измените свой стиль на это:
<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">#c4c4c4</item>
</style>