将文本中心与机器人对齐

我知道这听起来很简单。我需要将文本放在中间,但是当文本太长时,它需要放在下面,但是仍然要在 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>

我在上面和下面加了填充物,因为我需要一些空间。 PS: 我的代码比较大,在 RelativeLayout 中。

402105 次浏览

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

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

用这种方式

txt.setGravity(Gravity.CENTER);

你可使用以下连结:

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

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

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

添加 android:gravity="center"在您的 TextView 将做的技巧(是父布局是 Relative/Linear) !

另外,字体大小应避免使用 dp,而应使用 sp。

在 TextView 中添加布局重力和重心值

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

或者

android:gravity="center"

两个都适合我。

只要把这两行加起来;

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

或者看看这个,这将有助于一次排列所有的元素。

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

如果你想改变 mainActivity.java 文件的对齐方式,那么使用引力。例如:

chatMsg.setGravity(Gravity.RIGHT);

ChatMsg 是我的 textView。我希望文本是右对齐的,这个代码工作得很好。

您可以通过添加这些行轻松地完成这项工作

android:layout_width="match_parent"
android:gravity="center"
android:textAlignment="center"