Меню настроек скина Android - PullRequest
10 голосов
/ 17 февраля 2012

Пытаюсь скинуть меню настроек на андроид.У меня изменился цвет фона с помощью пользовательской темы, но я не могу изменить цвет текста по какой-то причине.

Моя тема

<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

Что мне здесь не хватает?

Ответы [ 2 ]

1 голос
/ 26 августа 2015

Вы можете изменить цвет текста, но он должен идти под тегом textColor. Вы не можете поместить drawable в любой textColor (ни в стилях, ни в макетах). Если вы хотите изменить цвет, измените свой стиль следующим образом:

<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
    <item name="android:textColor">#c4c4c4</item>
</style>
0 голосов
/ 13 марта 2013

Этот вопрос неоднократно задавался по-разному. С макетами 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/

...