在RelativeLayout中居中两个元素

时间:2014-10-11 18:06:43

标签: android relativelayout centering

我有两个TextView元素,长度不断变化。如何让它们在RelativeLayout中水平居中? RelativeLayout必须是wrap_content,因为我有左边的视图。 请参阅下面的草图:
Adjust width according to contents.
它不必是RelativeLayout,只要我可以将两个TextView放在彼此之上。

编辑: 基于答案,我尝试了这段代码:

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/centerContainer"
    android:gravity="center">
    <TextView
        android:text="Mmmmmmmmmmmm"
        android:id="@+id/upperText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:text="M"
        android:id="@+id/lowerText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/upperText"/>
</RelativeLayout>

它不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:1)

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
     />
<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
         />

多数民众赞成......

  

android:layout_centerHorizo​​ntal =“true” - &gt;如果是真的,请让这个孩子居中   在其父级

中水平放置

答案 1 :(得分:0)

你必须有类似的东西:

<RelativeLayout
    some options...
   <TextView 
      some options...
   />
   <TextView
      some options...
   />
</RelativeLayout>

android:gravity = "center"添加到您的RelativeLayout选项中:

<RelativeLayout
    some options...
    android:gravity = "center"
   <TextView 
      some options...
   />
   <TextView
      some options...
   />
</RelativeLayout>

这应该以{{1​​}}中的每个元素为中心。