如何在TextView中水平和垂直居中文本,以便它正好出现在Android中的TextView的中间?


当前回答

试试看:

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

其他回答

如果TextView没有将height/width属性设置为wrap_content,请使用android:gravity=“center”。但有些人抱怨说,使用这种方法行不通。这是因为它们的布局没有相同的重力。您可以设置

android:layout_gravity=“center”在文本视图中(这仅适用于文本视图)

or

android:gravity=“center”在父布局中(这将适用于其中的所有视图)

我不认为,你真的需要这样做,只需像这样在布局文件中定义你的TextView

<RelativeLayout
    android:layout_width="width"
    android:layout_height="height">
    <TextView
        android:id="@+id/yourid"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Your text" />
</RelativeLayout>

android:gravity=“center_horizontal”表示文本水平居中。android:gravity=“center_vertical”用于垂直对齐文本中心。android:gravity=“center”用于垂直和水平对齐文本中心。

<TextView
        android:layout_width="match_parent"
        android:gravity="center_horizontal|center_vertical"
        android:layout_height="match_parent" />

您需要像这样设置文本视图重力(水平居中和垂直居中):

android:layout_centerHorizontal="true"   

android:layout_centerVertical="true"

动态使用:

textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

将布局文件中的重力属性设置为android:gravity=“中心”