Ich kann Attribute nicht überschreiben, wenn ich <include> in meinen Android-Layoutdateien verwende. Als ich nach Fehlern suchte, fand ich Declined Issue 2863 :
"include-Tag ist fehlerhaft (das Überschreiben von Layout-Parametern funktioniert nie)"
Da Romain angibt, dass dies in den Testsuiten und seinen Beispielen funktioniert, muss ich etwas falsch machen.
Mein Projekt ist folgendermaßen organisiert:
res/layout
buttons.xml
res/layout-land
receipt.xml
res/layout-port
receipt.xml
Die button.xml enthält ungefähr Folgendes:
<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>
Und die Dateien Receipt.xml im Hoch- und Querformat sehen ungefähr so aus:
<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>
Was vermisse ich?