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


当前回答

你可以为此改变android:重力。

android:gravity=“中心”或

如果要水平或垂直居中

android:gravity=“center_horizontal”

android:gravity=“center_vertical”

其他回答

试试看:

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

必须这样设置“重力”:

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

在我看来,

android:gravity="center"

优于,

android:layout_centerInParent="true"

这比,

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

至少用于格式化文本。

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

android:layout_centerHorizontal="true"   

android:layout_centerVertical="true"

动态使用:

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

在任何视图的ConstraintLayout中:

(使用约束布局时,将高度和宽度设置为0,并让约束管理视图边界。)

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />