将文本中心与android对齐

时间:2011-09-06 21:04:15

标签: java android xml text center

我知道这听起来很容易。我需要在中心放置一个文本,但是当文本太长时,它需要在下面,但仍然在我的xml的中心对齐。

这是我的代码:

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_centerHorizontal="true"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

我把paddingTop和Bottom放在一边因为我需要一些空间。 PS:我的代码更大;它在RelativeLayout中。

9 个答案:

答案 0 :(得分:352)

android:gravity中的TextView参数设置为center

为了测试不同布局参数的效果,我建议为每个元素使用不同的背景颜色,这样您就可以看到布局如何随着重力,layout_gravity等参数而变化。

答案 1 :(得分:26)

使用这种方式

txt.setGravity(Gravity.CENTER);

答案 2 :(得分:17)

在xml中使用这种方式

   <TextView
        android:id="@+id/myText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Time is precious, so love now."
        android:gravity="center"
        android:textSize="30dp"
        android:textColor="#fff"
        />

答案 3 :(得分:6)

您可以使用以下内容:

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp">

 <TextView
        android:id="@+id/textview1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Your text"
        android:typeface="serif" />
</LinearLayout>

布局需要相对于要使用的“center”属性。

答案 4 :(得分:4)

在TextView中添加android:gravity="center"可以解决问题(父布局为Relative/Linear)!

此外,您应该避免使用dp作为字体大小。改用sp。

答案 5 :(得分:3)

在TextView

上添加layout_gravity和gravity以及中心值
<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />

答案 6 :(得分:3)

只需添加这两行;

android:gravity="center_horizontal"
android:textAlignment="center"

答案 7 :(得分:0)

android:layout_gravity="center"

android:gravity="center"

都对我有用。

答案 8 :(得分:0)

或者检查一下,这将有助于一次对齐所有元素。

 <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/showdescriptioncontenttitle"
    android:paddingTop="10dp"
    android:paddingBottom="10dp"
    android:layout_gravity="center"
    android:gravity="center_horizontal"
>
    <TextView 
        android:id="@+id/showdescriptiontitle"
        android:text="Title"
        android:textSize="35dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>