2012-02-16 19 views
10

Sto provando a scuoiare il menu delle opzioni su Android. Ho cambiato il colore di sfondo con un tema personalizzato, ma non riesco a cambiare il colore del testo per qualche motivo.Menu Opzioni pelle Android

mio tema

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

My Style per il carattere menu delle opzioni

<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item"> 
    <item name="android:textColor">@drawable/menu_item_font</item> 
</style> 

mio drawable per il selettore colore del pulsante 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> 

che il colore è solo un esagono colore # c4c4c4

Cosa mi manca qui?

+0

Hai provato semplicemente ' # c4c4c4'? – Barney

+0

Mi sono completamente dimenticato di questo thread. Non mi ricordo nemmeno di quale progetto si trattasse. Devo cancellare questa domanda? – smokingoyster

risposta

0

Questa domanda è stata posta in modi diversi un numero di volte. Con i layout XML, è possibile modificare il colore di sfondo, ma non è possibile modificare il colore del testo:

http://code.google.com/p/android/issues/detail?id=4441

È possibile, tuttavia, scrivere una classe personalizzata per realizzare la scuoiatura menu:

http://www.techjini.com/blog/customizing-background-and-text-color-in-options-menu-android/

+0

Non funziona per me, ho appena ricevuto "IllegalStateException" perché la fabbrica è stata impostata. – BornToCode

+0

Questo non è vero. È possibile modificare il colore del testo specificandolo nel tema (styles.xml). – Luis

1

È possibile modificare il colore del testo ma dovrebbe passare sotto il tag textColor. Non puoi mettere un drawable in qualsiasi textColor (né negli stili, né nei layout). Se si desidera cambiare il colore, cambiare il vostro stile a questo:

<style name="OptionsMenuFont" parent="@android:style/TextAppearance.Widget.IconMenu.Item"> 
    <item name="android:textColor">#c4c4c4</item> 
</style> 
Problemi correlati