2011-07-13 15 views
9

Tengo una aplicación de Android en la que estoy trabajando con un tema personalizado aplicado en el manifiesto de Android en la actividad principal en sí. Esta actividad crea una vista de lista, que tiene el estilo aplicado.Jerarquía de estilos en Android: ¿cuál es el orden de importancia?

Si creo un diseño personalizado para esa vista de lista, incluido un archivo xml independiente para las filas, y aplico el estilo directamente a esos diseños, ¿sobrescribe este estilo el estilo general de la aplicación? Estoy tratando de entender la jerarquía de eventos en cuanto a cómo funciona el estilo y el tema.

La forma en que estoy GARANTIZANDO que funciona en mi ejemplo es: aplicar estilo para la fila, referenciado por diseño de filas xml> aplicar estilo para la lista general, referenciado por listview layout xml> aplicar estilo del tema personalizado, referenciado por estilo xml referenciado por manifiesto de Android

¿Estoy bien? O me estoy acercando a esto de forma incorrecta. (Sólo por el bien confusiones, por ">" Quiero decir tiene una importancia mayor que)

+0

Estoy después de la misma pregunta. Con mi experimentación inicial, parece ir en dirección opuesta, lo cual es muy extraño. Sería genial si alguien puede confirmar. – dineth

+0

esto podría ayudar: http://developer.android.com/guide/topics/ui/themes.html#Inheritance – CrackerJack9

Respuesta

0

Esperanza soy entender su pregunta aquí ...

Los estilos se definen en styles.xml siempre sobrescribir los estilos viniendo del tema actualmente usado por android.

Pero esto solo funciona para los atributos que sobrescribe.

Si se deja sin tocar un atributo, androide proporcionará el estilo de ella, ya veces esto viene morder en el trasero :)

Este sistema se describe mejor como esto: Un TextView requiere un ejemplo atributo

<item name="android:textColor">#00FF00</item> 

Android se verá primero en el diseño original. Si no se encuentra, buscará en sus estilos personalizados. Si no se encuentra, buscará en los estilos de Android.

Espero que esto ayude.

0

Los temas estándar tienen líneas similares que definen el estilo ListView:

<item name="listViewStyle">@android:style/Widget.ListView</item> 

En su propio tema que puede hacer una Algo

<item name="listViewStyle">@style/MyOwnListView</item> 

que no está definido en el estilo ListView (propio o por defecto) será lo que está definido en el tema si lo ha definido allí.

Cuestiones relacionadas