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


当前回答

简单地,在XML文件中,将文本视图重心设置为中心:

<TextView
    android:gravity="center" />

其他回答

在对TextView使用gravity时,API级别17中实现了另一种方法-

textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

不知道有什么区别,但它也起作用。但仅适用于API 17级或更高级别。

要在中心显示文本,请执行以下操作:

------------------>text<-------------------

使用以下样式:

<TextView  
    android:layout_width="match_parent" 
    android:layout_height="wrap_contect" 
    android:gravity="center"
    android:text="@string/text"
/>

android:gravity="center" 

正如许多答案所表明的那样,上述工作正常。

android:gravity="center"

如果要使其垂直居中:

android:gravity="center_vertical"

或仅水平:

android:gravity="center_horizontal"

我假设您使用的是XML布局。

<TextView  
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center"
    android:text="@string/**yourtextstring**"
/>

还可以根据需要使用重力center_vertical或center_horizontal。

正如@steelthcopter在java:.setGravity(Gravity.CENTER);中评论的那样;。

对于Kotlin用户,.egravity=重力.CENTER

<TextView
android:id="+@id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>