使用LinearLayout子项填充RelativeLayout父级

时间:2012-06-30 05:09:10

标签: android android-layout

这看起来很简单,但我已经厌倦了我的Google搜索耐心。

我有一个RelativeLayout并排有两个子LinearLayout,无论两个LinearLayouts的高度如何,我希望它们都能垂直填充父级。这被用作ListView行, @ id / item_left 下的内容通常比右边的内容短。

背景drawable不会填满整行。

关于让双方都填补的任何想法?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/item_left"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:background="@drawable/item_left"
        android:orientation="vertical">
        <TextView android:id="@+id/time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/item_left_text"
            android:text="" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@color/item_right_background"
        android:layout_toRightOf="@id/item_left">           
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/item_right_text"
            android:text="Row1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/item_right_text"
            android:text="Row2" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/item_right_text"
            android:text="Row3" />
    </LinearLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

尝试此代码....对不起,但我更改了颜色,以便在您更改第一个TextView的文本时产生影响

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="fill_parent"
    android:background="#ffffffff" android:weightSum="1">

    <LinearLayout android:id="@+id/item_left"
        android:layout_width="wrap_content" android:layout_height="fill_parent"
        android:paddingRight="2dp" android:paddingLeft="2dp"
        android:background="#ff0000ff" android:orientation="vertical" >
        <TextView android:id="@+id/time" android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="#ff555555"
            android:text="sdfdsf s ada d a   asd sad sad"  />
    </LinearLayout>

    <LinearLayout android:layout_width="wrap_content"
        android:layout_height="match_parent" android:orientation="vertical"
        android:background="#ffff0000" 
        android:layout_weight="1" >
        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="#ff555555"
            android:text="Row1" />

        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="#ff00ff00"
            android:text="Row2" />

        <TextView android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:textColor="#ff00ff00"
            android:text="Row3" />
    </LinearLayout>


</LinearLayout>

答案 1 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="#FF0000">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="helloooooooooooooo" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_toRightOf="@id/layout1"
        android:background="#0000FF"

 >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Row1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Row2" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Row3" />
    </LinearLayout>
</RelativeLayout>