2012-02-16 11 views
10

Estoy tratando de desollar el menú de opciones en Android. He cambiado el color de fondo con un tema personalizado, pero no puedo cambiar el color del texto por algún motivo.Opciones de piel Menú Android

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

Mi estilo de fuente para el menú de opciones

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

Mi estirable para el selector de botón de color 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> 

Ese color es sólo un hexágono color # c4c4c4

¿Qué me falta aquí?

+0

¿Ha intentado simplemente ' # c4c4c4'? – Barney

+0

Me olvidé por completo de este hilo. Ni siquiera recuerdo qué proyecto era esto. ¿Debería simplemente eliminar esta pregunta? – smokingoyster

Respuesta

0

Esta pregunta se ha formulado de diferentes maneras varias veces. Con diseños de XML, puede cambiar el color de fondo, pero no puede cambiar el color del texto:

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

Puede, sin embargo, escribir una clase personalizada para lograr despellejar el menú:

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

+0

No funciona, obtengo 'IllegalStateException' porque la fábrica se ha configurado. – BornToCode

+0

Esto no es verdad. Puede cambiar el color del texto al especificarlo en su tema (styles.xml). – Luis

1

Puede cambiar el color del texto, pero debe ir debajo de la etiqueta textColor. No puedes poner un dibujo en cualquier textColor (ni en estilos, ni en diseños). Si desea cambiar el color, cambiar su estilo a esto:

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