Cambiar dibujable basado en tema

Tengo una imagen en dos colores diferentes, que corresponde a dos temas diferentes en Android. Quiero usarlos en mi barra de acción. Quiero referirme a un dibujable para el icono, tema agnóstico, pero tienen que la referencia de dibujo el color de luz para el tema de luz, y el color oscuro para el tema de luz.

En el menú:

<item android:id="@+id/menu_attach_existing_picture" android:icon="@drawable/buttonface_picture" android:showAsAction="always" android:title="@string/menu_attach_existing_picture"> </item> 

Entonces en los estilos que quiero tener algo que los mapas @ drawable / buttonface_picture a @ drawable / buttonface_picture_light en el tema de la luz y @ drawable / buttonface_picture_dark para el tema oscuro.

Siento que tiene que haber una forma, pero estoy teniendo problemas para encontrar la sintaxis. Si cambia algo, estoy usando ActionBarSherlock.

Parece que soy siempre sólo una búsqueda de Google o dos lejos de mis respuestas. La solucion es:

En styles.xml

 <attr name="buttonface_picture" format="reference"/> 

Entonces en el tema real:

 <item name="buttonface_picture">@drawable/buttonface_picture_dark</item> 

o

 <item name="buttonface_picture">@drawable/buttonface_picture_light</item> 

Entonces, en el menu.xml:

 <item android:id="@+id/menu_attach_existing_picture" android:icon="?attr/buttonface_picture" android:showAsAction="always" android:title="@string/menu_attach_existing_picture"> </item> 

La página de recursos de acceso combinada con este SO finalmente lo consiguió para hacer clic en mi cerebro.

  • Atributos de estilo de estilo personalizado AlertDialog
  • Cambiar el fondo PreferenceActivity
  • Cómo establecer un atributo de estilo mediante programación en una vista
  • Cambiar el color de fondo de la lista desplegable de autocompletar de búsqueda
  • StyleSpan no se aplica a SpannableString en TextView
  • Cómo diseñar DialogPreference con un tema personalizado?
  • Cambiar Theme.Dialog para que parezca Theme.Light.Dialog en Android
  • Categoría de preferencias de Android
  • Cómo utilizar textColorPrimary como color de fondo en un estilo?
  • Cambio de tema de diálogo para cada cuadro de diálogo
  • Anulación de los atributos de estilo referenciados
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.