Cómo hacer referencia a un estilo en un tema personalizado

Tengo una pantalla de inicio de sesión que se marca de manera diferente para diferentes versiones de mi aplicación. Necesito que la imagen de fondo sea diferente en el archivo de diseño de esta pantalla, así que quiero señalar a un estilo diferente para el contenedor de nivel superior. Estoy un poco en una pérdida en cómo hacer esto.

He declarado un estilo como:

<resources> <declare-styleable name="ThemeBase"> <attr name="loginPageContainerStyle" format="reference" /> </declare-styleable> </resources> 

Tengo varios temas diferentes para la aplicación, como tal:

 <resources> <style name="ThemeBase" parent="android:style/Theme.Light" /> <style name="ThemeOne" parent="ThemeBase"> <item name="loginPageContainerStyle">@style/loginPageContainerThemeOne</item> </style> <style name="ThemeTwo" parent="ThemeBase"> <item name="loginPageContainerStyle">@style/loginPageContainerThemeTwo</item> </style> </resources> 

Y he definido los siguientes estilos:

 <resources> <style name="loginPageContainerThemeOne"> <item name="android:background">@drawable/background_theme_one</item> </style> <style name="loginPageContainerThemeTwo"> <item name="android:background">@drawable/background_theme_two</item> </style> </resources> 

Y finalmente un archivo login.xml algo como:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/loginRoot" style= [ ? WHAT GOES HERE ? ] android:gravity="center_horizontal" android:orientation="horizontal"> [ LAYOUT STUFF ... ] </LinearLayout> 

¿Estoy haciendo algo mal? ¿Se puede hacer esto de esta manera?

Ok me di cuenta, la referencia de estilo debe ser:

 style="?attr/loginPageContainerStyle" 

Pensé que compartiría.

  • Cambiar y aplicar el tema en tiempo de ejecución en Android
  • Android: No se puede diseñar el divisor de hilado
  • Cómo establecer el tema para ProgressBar indeterminista en ProgressDialog en Android
  • Elementos del menú de desbordamiento denominados barra de acción
  • Lollipop estilo EditBox
  • El cambio de tema no funciona en <4.0 como debería
  • Cómo cambiar el tema de otro recurso de la aplicación en android?
  • Cambio de tema de aplicación a nivel de programación?
  • Cambio del icono de la barra de acciones
  • Cómo cambiar la fuente de navegación Encabezado de cajón y ScrollingActivity?
  • Java.lang.RuntimeException Theme.Sherlock
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.