android - 我在 RelativeLayout 中的包含有什么问题?

标签 android android-layout

我想创建一个顶部有标题栏,底部有导航栏的 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/

相关文章:

android - 获取 TextView 中文本的大小

Android:如何指定 <layer-list> 的不透明度?

java - 从 Android Studio 中的自定义应用发送电子邮件 + 附件,为什么 URI 为空?

android - 如何防止逆向工程apk获取服务器登录?

android - Android中的触摸释放方法

android - 如何使用 RelativeLayout 根的合并标签?

android - 模拟器与我的 Activity 布局不匹配

Android:content://sms/sent 的内容观察器不工作

android - 在Android 4.0.3 中设置textview 淡入淡出

android - 在 Android 上为自定义形状添加阴影