Я не могу переопределить атрибуты при использовании <include> в моих файлах макета Android. Когда я искал ошибки, я нашел Declined Issue 2863:
"включить тег (нарушающий параметры макета никогда не работает)
Поскольку Ромен указывает, что это работает в наборах тестов и его примерах, я должен делать что-то неправильно.
Мой проект организован следующим образом:
res/layout
buttons.xml
res/layout-land
receipt.xml
res/layout-port
receipt.xml
В файле buttons.xml есть что-то вроде этого:
<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>
И файлы портрета и landscape receipt.xml выглядят примерно так:
<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>
Что мне не хватает?