Estilos de herencia múltiple
¿Hay alguna manera de hacer un estilo heredar de varios otros estilos, en lugar de limitarse a:
<style name="WidgetTextBase"> <item name="android:typeface">serif</item> <item name="android:textSize">12dip</item> <item name="android:gravity">center</item> </style> <style name="BOSText" parent="WidgetTextBase"> <item name="android:textColor">#051C43</item> </style>
Quisiera que BOSText también heredara de:
- Cómo establecer el estilo ListView en el recurso?
- Cambiar el color de fondo de la lista desplegable de autocompletar de búsqueda
- Constantes de color del sistema Android
- Estilo SnackBar en la aplicación de tema
- Cómo cambiar el cuadro de diálogo de alerta divider color android
<style name="WidgetTextHeader"> <item name="android:textStyle">bold</item> <style>
- ¿Por qué mis estados de botones personalizados no funcionan?
- Modificación del diseño del título de diálogo en Android
- ¿Cómo anular (o ocultar) los atributos de estilo definidos en el proyecto de la biblioteca de Android?
- Cambiar dibujable basado en tema
- Cómo cambiar el color de fondo del menú de ActionBar (android 4 y 5)
- Encontrar todos los estilos disponibles definidos por los temas de la plataforma Android
- Cómo diseñar DialogPreference con un tema personalizado?
- Uso de los padres para obtener recursos
No, los estilos no admiten herencia múltiple (al menos no a partir de Android 3.2).
Sólo se puede heredar un estilo. Sin embargo, también puede hacer que el estilo heredado hereda de otro estilo, y así sucesivamente:
<style name="WidgetTextBase"> <item name="android:typeface">serif</item> <item name="android:textSize">12dip</item> <item name="android:gravity">center</item> </style> <style name="WidgetTextHeader" parent="WidgetTextBase"> <item name="android:textStyle">bold</item> </style> <style name="BOSText" parent="WidgetTextHeader"> <item name="android:textColor">#051C43</item> </style>
No puede heredar más de un estilo, pero puede configurar una cadena de herencia.
Hay un atributo padre en la etiqueta de estilo que debería permitirle heredar de otros estilos …
es decir
<style name="CodeFont" parent="@style/WidgetTextBase"> <item name="android:textStyle">bold</item> </style>