最佳答案
在 Android 布局文件中使用 < include > 时,我无法覆盖属性。当我搜索 bug 时,我发现了拒绝 第2863期:
“ include 标记被破坏(重写布局参数从不起作用)”
既然 Romain 指出这在测试套件和他的示例中是可行的,那么我一定是做错了什么。
我的项目是这样组织的:
res/layout
buttons.xml
res/layout-land
receipt.xml
res/layout-port
receipt.xml
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>
并且纵向和横向 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>
我错过了什么?