相对布局XML中的LinearLayout

时间:2014-01-27 01:39:19

标签: android android-linearlayout relativelayout

我的应用程序的LinearLayout部分已完成。我现在正在使用RelativeLayout在屏幕/活动的顶部添加一个小栏,但我似乎在下面的图片中以我想要的方式向下。

棕褐色的线性布局在顶部的小条中可见,这就是我想要的白色RelativeLayout,而LinearLayout应该使用RelativeLayout占用的空白区域。我很困惑如何:

  • 更改RelativeLayout,使其高度仅与顶部栏(50dp)一样高

  • 让LinearLayout开始向下50dp,以便它的顶部符合RelativeLayout的底部

LinearLayout within RelativeLayout

仅包含LinearLayout的原始XML文件:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#F8FBBF" >

                <ExpandableListView
                    android:id="@+id/lvExp"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:cacheColorHint="#00000000"/> 

    </LinearLayout>

ModifiedLayout包含LinearLayout的修改后的XML文件:

<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="50dp" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#F8FBBF" >

                <ExpandableListView
                    android:id="@+id/lvExp"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:cacheColorHint="#00000000"/> 

    </LinearLayout>
</RelativeLayout>

感谢您提前提供的任何帮助。

1 个答案:

答案 0 :(得分:2)

你可以这样做:

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
    >

<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="50dp" >

</RelativeLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#F8FBBF" >

                <ExpandableListView
                    android:id="@+id/lvExp"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:cacheColorHint="#00000000"/> 

    </LinearLayout>
</LinearLayout>

但是这引入了嵌套布局。你可以用:

<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" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#F8FBBF"
        android:layout_margintop"50dip" >

                <ExpandableListView
                    android:id="@+id/lvExp"
                    android:layout_height="match_parent"
                    android:layout_width="match_parent"
                    android:cacheColorHint="#00000000"/> 

    </LinearLayout>


</RelativeLayout>

只需在线性布局中添加一个margintop