在RelativeLayout中并排显示两个以上的视图

时间:2014-12-09 01:12:29

标签: android android-layout

我在TextView's中有三个RelativeLayout,我正试图将它们并排放置。

我期望得到的是:

|Text THREE | Text ONE | Text TWO|

相反,我得到的是:

| Text ONE | Text TWO |

我的xml代码是:

    <RelativeLayout
    android:id="@+id/relative_test"
    android:gravity="center|center_horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/t1"
        android:text="Text ONE"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/t2"
        android:text="Text TWO"
        android:layout_toRightOf="@+id/t1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:id="@+id/t3"
        android:text="Text THREE"
        android:layout_toLeftOf="@+id/t1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

你应该使用LinearLayout来获得它。

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="T1"/>
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="T2"/>
  <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="T3"/>
</LinearLayout>

你没有说你是否希望TextView伸展到平等。要做到这一点,你要使width 0dp和weight等于1。

你可以使用RelativeLayout,但这对你正在做的事情来说太过分了。

答案 1 :(得分:0)

方法1

您可以将以下内容添加到t1

android:layout_centerHorizontal="true"

基本上我们正在努力将TextView t1置于中心,以便可以看到左侧和右侧的那个。同样,如果您有更多TextViews,则可以应用此概念。

方法2

另一种方法是使用android:layout_alignParentLeft="true"将第一个对齐到最左边,然后使用android:layout_toRightOf=""对齐所有后续TextView