将文本中心与androidalignment

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

这是我的代码:

<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> 

我把填充顶部和底部,因为我需要一些空间。 PS:我的代码更大, 它在一个RelativeLayout中。

TextView也设置android:gravity参数为center

为了testing不同布局参数的效果,我build议为每个元素使用不同的背景颜色,以便您可以看到布局如何随着重力,layout_gravity或其他参数而改变。

使用这种方式

 txt.setGravity(Gravity.CENTER); 

在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" /> 

您可以使用以下内容:

 <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> 

该布局需要相对于要使用的“中心”属性。

在你的TextView中添加android:gravity="center"将会做到这一点(父母布局是Relative/Linear )!

另外,你应该避免使用字体大小的dp。 改用sp。

在TextView中添加layout_gravity和重心以及中心值

 <TextView android:text="welcome text" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center" />