我想创建一个顶部有标题栏,底部有导航栏的 Activity 。我使用 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>
[编辑] 我没有找到根本原因。但以下工作:
<?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"/>
关于android - 我在 RelativeLayout 中的包含有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3217220/