我有一个包含另一个布局的布局(主体)。在主要布局中,我包括另一个像
<include
android:id="@+id/other_layout_id"
android:layout_height="match_parent"
layout="@layout/other_latyout_name" />
这是我的其他布局的代码,代表一个带有一些元素的自定义行(一些文本和一个按钮):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relative_row_opponent"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<!-- other widget, all with wrap_content -->
如果在主要布局内,请在include标签中指定
android:layout_height="wrap_content"
其他布局占用主要布局内的所有垂直空间,我不期望这种行为。为什么会发生这种情况?
答案 0 :(得分:0)
根据http://developer.android.com/training/improving-layouts/reusing-layouts.html#Include
您还可以通过在
<include/>
标记中指定包含布局的根视图来覆盖所有布局参数(任何android:layout_ *属性)。
另外
但是,如果要使用
<include>
标记覆盖布局属性,则必须覆盖android:layout_height
和android:layout_width
才能使其他布局属性生效。
所以你应该做的是
<include
android:id="@+id/other_layout_id"
android:layout_height="match_parent"
android:layout_width="match_parent"
layout="@layout/other_layout_name" />
此处我已按照网站的建议添加了android:layout_width
属性和android:layout_height
。
我还没有测试过它。但希望它有所帮助。