如何在相对布局中填充中心视图?

时间:2013-11-20 03:00:40

标签: android relativelayout

在我的Android应用程序中,我有一个相对布局,谁的宽度填充父。如何创建3个视图,以便第一个视图是文本视图,宽度正好是100dp,第三个视图是一个也是100dp宽的edittext,第二个视图是填充中心空间的宽度的textview。

[][   ][]
view 1, view 2, view 3

但是,第一个必须左对齐,第三个必须右对齐。第二,需要介于两者之间,但填补空间。

注意:在java代码中。

3 个答案:

答案 0 :(得分:1)

您可以使用layout_toLeftOflayout_toRightOf属性设置定位点,然后设置layout_width="wrap_content"以拉伸视图。

这是一个示例布局

<?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="wrap_content" >
    <TextView
        android:id="@+id/tv1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="Text 1" />
    <TextView
        android:id="@+id/tv2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/et1"
        android:layout_toRightOf="@+id/tv1"
        android:text="Text 2" />
    <EditText
        android:id="@+id/et1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:hint="Text 3" />
</RelativeLayout>

答案 1 :(得分:1)

尝试一下:

<?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="wrap_content" >

    <TextView
        android:id="@+id/textview1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:text="TextView1" />

    <TextView
        android:id="@+id/textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/edittext1"
        android:layout_toRightOf="@+id/textview1"
        android:text="TextView2" >
    </TextView>

    <EditText
        android:id="@+id/edittext1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:hint="EditText3" />

</RelativeLayout>

答案 2 :(得分:0)

我认为在这种情况下你可以试试LinearLayout。将第1和第3设置为权重0,将第2设置为权重1和fill_parent。