0

为什么这些:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <include 
        layout="@layout/myCustomTitleBar"
        android:id="@+id/titlebar" />

    <include
        layout="@layout/myCustomToolBar"
        android:id="@+id/toolbar"
        android:layout_below="@id/titlebar" />

    <com.myname.myapp.MyCustomView
        android:id="@+id/myView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/toolbar"
    />

</RelativeLayout>

不管用 ?
两个includes 相互堆叠/重叠。(layout_below不起作用)s --和-- 都是
s 。 我做错什么了吗 ?includemyCustomTitleBarmyCustomToolBarRelativeLayout

期望的结果 :

插图

4

2 回答 2

3

根据您的应用程序草图,您不应该RelativeLayout以 root 身份使用。RelativeLayout正是用于叠加项目。你必须使用LinearLayout. 当然,LinearLayout 组的每个项目都必须具有适当的layout_width/layout_height值。

根:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <include layout="@layout/relative_sample_a"/>

    <include layout="@layout/relative_sample_b"/>

    <RelativeLayout android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:background="#991022"/>

</LinearLayout>

relative_sample_a.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#AACC33">

    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:text="ButtonA"/>

    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_alignParentRight="true"
            android:text="ButtonB"/>


</RelativeLayout>

relative_sample_b.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="#DDBB00">

    <Button android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="10dp"
            android:layout_centerInParent="true"
            android:text="ButtonC"/>


</RelativeLayout>

在此处输入图像描述

于 2013-10-26T15:15:07.587 回答
1

尝试添加android:layout_alignParentTop="true"到标题栏

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <include 
        layout="@layout/myCustomTitleBar"
        android:id="@+id/titlebar"
        android:layout_alignParentTop="true" />

    <include
        layout="@layout/myCustomToolBar"
        android:id="@+id/toolbar"
        android:layout_below="@id/titlebar" />

    <com.myname.myapp.MyCustomView
        android:id="@+id/myView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/toolbar"
    />

</RelativeLayout>
于 2013-10-26T14:58:39.210 回答