Temas: ¿Depende del tema dibujable?

Me gustaría poder declarar algunos temas para cambiar fácilmente la apariencia de mi aplicación. Así que tengo que se puede definir un estilo heredado de android: Theme y luego definir los atributos dentro de este.

Pero dos preguntas:

  1. ¿Qué pasa si quiero tener, digamos, más de un color de fondo para diferentes vistas dentro de la aplicación? Así que puedo tener, por ejemplo, un fondo para toda la actividad y un fondo diferente a las vistas de texto en la actividad y otro fondo para los botones, etc Pero, ¿tienen estos (diferentes) colores tema dependiente?
  2. ¿Es posible definir un conjunto de drawables que depende del tema en uso. Quiero decir de una manera similar a cómo se puede definir diferentes trazos para diferentes densidades de pantalla, por ejemplo. Lo ideal sería tener imágenes con diferentes esquemas de colores utilizados para los diferentes temas. ¿Se puede definir este comportamiento en android?

Gracias por tu ayuda, James

Podrías simplemente definir diferentes estilos para los diferentes colores o dibujos necesarios para cada tipo de widget y hacer referencia a los de tus diferentes temas. Por ejemplo:

<!-- themes --> <style name="MyTheme" parent="android:style/Theme.Light"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@drawable/something</item> <item name="android:buttonStyle">@style/MyButton</item> </style> <style name="MyTheme.Red"> <item name="android:buttonStyle">@style/MyButton.Red</item> </style> <style name="MyTheme.Blue"> <item name="android:buttonStyle">@style/MyButton.Blue</item> </style> <!-- styles --> <style name="MyButton" parent="android:style/Widget.Button"> <item name="android:background">@drawable/btn_mydefault</item> </style> <style name="MyButton.Red"> <item name="android:background">@drawable/btn_red</item> </style> <style name="MyButton.Blue"> <item name="android:background">@drawable/btn_blue</item> </style> 
  • Android: Theme.Holo.Light.NoActionBar vs Theme.Light.NoTitleBar
  • Obtener un valor de color attr basado en el tema de conjunto actual
  • Obtener atributos temáticos mediante programación
  • Problemas con el tema translúcido
  • ¿Qué atributos de tema necesito anular para cambiar el color de resaltado azul de mis cuadros de diálogo?
  • XML @style en el padre
  • Aplicación del tema AppCompat a las preferencias individuales en un archivo PreferenceFragment
  • Utilizar no un tema precompilado
  • ¿Cómo cambio el color de acento en las alertas de tema material de Android?
  • Ajustar el conjunto dibujable a android: windowBackground
  • Android app onStartup - Pantalla blanca
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.