No puedo sobrescribir los atributos al usar <incluir> en mis archivos de diseño de Android. Cuando buscaba insectos, encontré disminuido Issue 2863:¿La etiqueta "incluir" de Android XML Layout realmente funciona?
"incluyen la etiqueta se rompe (anulando parametros de diseño nunca funciona)"
Desde Romain indica que esto funciona en los bancos de pruebas y sus ejemplos, debo estar haciendo algo incorrecto.
Mi proyecto se organiza así:
res/layout
buttons.xml
res/layout-land
receipt.xml
res/layout-port
receipt.xml
El buttons.xml contiene algo como esto:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button .../>
<Button .../>
</LinearLayout>
Y los archivos receipt.xml vertical y horizontal ser algo como:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
...
<!-- Overridden attributes never work. Nor do attributes like
the red background, which is specified here. -->
<include
android:id="@+id/buttons_override"
android:background="#ff0000"
android:layout_width="fill_parent"
layout="@layout/buttons"/>
</LinearLayout>
¿Qué me estoy perdiendo?
Esto es ridículo. Nunca he sido capaz de hacer que esto funcione, e incluso vi mencionar la documentación que necesitaba tanto la altura como el ancho si intentaba anular las dimensiones, que supuse que eran de alto y ancho. Sin embargo, todo lo que intentaba anular es el margen, que en realidad no es una dimensión. ¿Por qué diablos necesito especificar ambos o incluso cualquiera de esos cuando todo lo que quiero cambiar es el layout_marginRight? Grrr, Android, a veces me frustras demasiado. –
Eric, debes aceptar tu propia respuesta como la solución. –
FYI Android Lint le dará un error (El parámetro de diseño layout_height se ignora a menos que layout_width también se especifique en tag) si no anula los atributos de alto y ancho –
binary