La siguiente pregunta me ha mantenido perplejo por un tiempo y pensé que tal vez preguntar acerca de esto no causa ningún daño. Tengo los siguientes archivos layout.xml y style.xml;Definir identificadores con estilo, ¿es seguro o es un desastre?
res/layout/layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
style="@style/headerContainer" />
<LinearLayout
style="@style/footerContainer" />
<ScrollView
style="@style/contentContainer" />
</RelativeLayout>
res/valores/style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="container">
<item name="android:layout_width">fill_parent</item>
</style>
<style name="headerContainer" parent="container">
<item name="android:layout_height">40dp</item>
<item name="android:layout_alignParentTop">true</item>
<item name="android:background">#80FF0000</item>
<item name="android:id">@+id/header</item>
</style>
<style name="footerContainer" parent="container">
<item name="android:layout_height">50dp</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:background">#8000FF00</item>
<item name="android:id">@+id/footer</item>
</style>
<style name="contentContainer" parent="container">
<item name="android:layout_height">60dp</item>
<item name="android:layout_below">@id/header</item>
<item name="android:layout_above">@id/footer</item>
<item name="android:background">#800000FF</item>
</style>
</resources>
Ahora, la pregunta es, ¿existe el peligro de IDs de superposición como estoy introduciendo ellos en style.xml? Lo curioso es que este enfoque funciona, en el emulador que estoy utilizando al menos, pero los ID creados no se están agregando a la clase R
. Y estoy un poco confundido sobre cómo se definen una vez que mi diseño está inflado.
Esa es una opción que estaba considerando también. Pero al final pensé que tal vez declarar encabezado/pie de página por separado en cada layout.xml en los que los necesite me da cierta flexibilidad que vale la pena. Siempre que pueda reducir la cantidad de código de copiar/pegar en pocas líneas usando estilos que sí lo sean. – harism