我的包含在RelativeLayout中出了什么问题?

我想创build一个顶部标题栏和底部导航栏的活动。 我使用include来将标题栏布局和导航栏布局包含到主布局中,如下所示。 结果是标题栏和导航栏都会显示在屏幕的顶部。 有人能告诉我为什么吗? 谢谢!

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_widget" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background"> <include android:id="@+id/title_bar" layout="@layout/title_bar" android:layout_alignParentTop="true" /> <include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_alignParentBottom="true"/> </RelativeLayout> 

[编辑]我没有find根本原因。 但是下面的作品:

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/home_widget" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/background"> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:id="@+id/title_bar" > <include layout="@layout/title_bar" /> </RelativeLayout> <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:id="@+id/navigation_bar" > <include layout="@layout/navigation_bar" /> </RelativeLayout> 

为了覆盖包含的布局的属性,还必须覆盖布局宽度和布局高度。 如果这两个设置都没有被覆盖,那么您尝试的其他布局更改将被忽略。

你上面的布局

 <include android:id="@+id/title_bar" layout="@layout/title_bar" android:layout_alignParentTop="true" /> <include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_alignParentBottom="true"/> 

实际上应该用一个包装内容或填充父母,如适用。

 <include android:id="@+id/navigation_bar" layout="@layout/navigation_bar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true"/> 

你没有任何东西可以填充顶部和底部栏之间的空间的外观。

作为一个方面,我并不倾向于使用LinearLayout,而是按照以下方式使用layout_weight属性;

title_bar&navigation_bar get layout_weight =“0”,两者之间的内容获得layout_weight =“1”。 这告诉布局经理如果你的线性布局是扩大内容来填补两者之间的空间;

title_bar内容导航栏