Android与引力的相对布局问题

时间:2010-05-10 16:28:48

标签: android layout

如何将带有id =“naslov”的textview放到中心?我也尝试过layout_gravity =“center”,但这也不起作用。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView   
    android:id="@+id/naslov"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20dip"
    android:text="Povzetek"
    android:gravity="center"/>
   <TextView   
    android:id="@+id/aha"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="10dip"
    android:text="Vseh oddaj:"
       android:layout_below="@id/naslov"/>  
 </RelativeLayout> 

5 个答案:

答案 0 :(得分:53)

 android:layout_centerHorizontal="true"

答案 1 :(得分:44)

 android:layout_centerHorizontal="true"

还有

android:layout_centerInParent="true"

RelativeLayout属性的完整列表是here

此外,您可以将TextView告诉fill_parent,然后在其上设置gravity = center。因此它会将实际文本置于textView中。

答案 2 :(得分:6)

补充答案

作为对此问题的更一般性回答,layout_gravity不适用于RelativeLayout的子视图。它适用于LinearLayoutFrameLayout。但是,RelativeLayout的子视图仍然可以像往常一样使用gravity,因为这只是视图如何排列自己的内容。

请参阅下图中的比较。绿色和蓝色视图是RelativeLayout内的TextView。

enter image description here

gravity有效但layout_gravity没有。有关详细信息,请参阅my fuller answer

另见

答案 3 :(得分:0)

相对布局不使用layout_gravity,但是您可以通过以下方式使用重力值:center,left,left | center,right | center,right,top,bottom。

<!-- below widget displaying text in left center -->
<TextView
           android:id="@+id/song_title"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:text="sample name text"
           android:gravity="left|center"
           android:textSize="15sp" />

答案 4 :(得分:-2)

您可以转到activity_main.XML中的图形布局选项卡,然后选择要放置的项目,并从顶部的三个选项卡中进行更改。或者你可以这样说:android:layout_gravity =“center_horizo​​ntal”。