Estoy tratando de crear una interfaz de usuario de Android a través de diseños. Comienzo con lo siguiente:¿Cómo funciona un estilo android: attr?
<TextView
android:id="@+id/..."
android:layout_marginTop="8dip"
android:text="..."
style="?android:attr/listSeparatorTextViewStyle"/>
Y eso se ve bien (todas las mayúsculas, fuente más pequeña, barra divisoria debajo de ella). Ahora quiero extender el estilo, así que lo cambio a lo siguiente:
<TextView
android:id="@+id/..."
android:layout_marginTop="8dip"
android:text="..."
style="@style/section_title"/>
Con un estilo de:
<style name="section_title" parent="@android:attr/listSeparatorTextViewStyle">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
Y eso no funciona (la fuente es correcta, pero la línea divisoria se ha ido).
¿Cómo es que ... eso?
Eso tiene total sentido ahora. Sin embargo, esto parece una solución fea. Para que coincida con el estilo del sistema tendré que tener un estilo (potencialmente) diferente para cada versión de Android, y si un fabricante cambió este estilo en el nombre de skinning, no tengo suerte y simplemente no podré coincide con el estilo del sistema para ese dispositivo. – Hounshell
@Hounshell Puede usar un tema personalizado y establecer su propio estilo para el atributo 'listSeparatorTextViewStyle'. Con esto, tu propio estilo estará presente en todas las plataformas de Android. Por supuesto, esto aún te hará vulnerable al fabricante del teléfono cambiando algunos estilos (el único problema real es el atributo de fondo dibujable). No dice ** cómo ** exactamente su diseño usa este estilo, pero tenga en cuenta que los usuarios probablemente consideren algunas diferencias de UI en una aplicación. – Luksprog
cómo encontrar que el ítem está apuntando? –