¿Cómo anular (o ocultar) los atributos de estilo definidos en el proyecto de la biblioteca de Android?
Tengo un conjunto de aplicaciones similares. Extraí los recursos y el código comunes al proyecto de la biblioteca y las aplicaciones apenas anulan lo que necesitan. En mi biblioteca hay el siguiente estilo definido:
<style name="ListItemText"> <item name="android:layout_toRightOf">@id/preview_image</item> <item name="android:textStyle">bold</item> <item name="android:textSize">@dimen/previewTextSize</item> </style>
Como puede ver, contiene el atributo android:layout_toRightOf
ya que este estilo se aplicaría al texto de la fila ListView que debería mostrarse a la derecha de la imagen en esa fila.
Sin embargo, en una de mis aplicaciones me gustaría mostrar el texto debajo de la imagen. Cómo se debería definir el estilo ListItemText
en esa aplicación para anular el valor del atributo android:layout_toRightOf
y reemplazarlo por android:layout_below
?
- TextView de Android cambia textColor con tema
- Configuración del estilo de TextViews subyacentes en style.xml
- Estilo para la vista pop-up en la webview cuando un usuario selecciona un cuadro combinado
- Anulación de los atributos de estilo referenciados
- Android: estilo de menú de desbordamiento en la barra de acción
Si lo defino como:
<style name="ListItemText"> <item name="android:layout_below">@id/preview_image</item> </style>
Muestra texto a la derecha y debajo de la imagen, sumando efectivamente los atributos de los estilos de biblioteca y de aplicación XML.
Ps: Una posible solución de mi problema sería deshacerse de android:layout_toRightOf
en los estilos y moverlo a la xml de diseño en su lugar. A continuación, en la aplicación de destino, este diseño puede redefinirse / sobreescribirse. Pero estoy buscando una solución basada en estilo, ya que podría proporcionar una forma más simple y directa de atribución de anulación.
(También puedo usar el estilo heredado con el atributo parent
, pero esto requeriría de nuevo que la maquetación de maquetación en la aplicación, que intento evitar).
- Cambiar el color de fondo de la lista desplegable de autocompletar de búsqueda
- Estilo SnackBar en la aplicación de tema
- Estilos de herencia múltiple
- Creación de TimePickerDialog con estilo personalizado en Android
- Cómo cambiar el estilo de EditText por defecto desactivado?
- Cómo modificar el estilo de Android "fuerza cerrar" ventana?
- ¿Es posible usar el estilo ActionBarSherlock en TabWidget nativo?
- Aplicar estilos de Android para diferentes pantallas
Para deshabilitar android:layout_toRightOf
, puede establecerlo en @null
. Si su aplicación define el estilo ListItemText
como sigue, debería funcionar como desee:
<style name="ListItemText"> <item name="android:layout_toRightOf">@null</item> <item name="android:layout_below">@id/preview_image</item> </style>
Podría utilizar "padre" para derivar un estilo especializado (ver http://developer.android.com/guide/topics/ui/themes.html ), pero la definición de los diseños como este con estilos no me parece el camino a Tallar este problema. Está bien dejar algunos detalles de diseño en los archivos de diseño.
- Xamarin.Droid causando errores de compilación en Visual Studio 2015 cuando se utiliza Xamarin.Forms
- DiskLruCache de android tutorial falta muchos métodos.