How do I center text horizontally and vertically in a TextView? – Dev

The best answers to the question “How do I center text horizontally and vertically in a TextView?” in the category Dev.

QUESTION:

How do I center the text horizontally and vertically in a TextView, so that it appears exactly in the middle of the TextView in Android?

ANSWER:

android:gravity="center" 

This will do the trick

ANSWER:

I’m assuming you’re using XML layout.

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

You can also use gravity center_vertical or center_horizontal according to your need.

As @stealthcopter commented, in java: .setGravity(Gravity.CENTER);.

And for Kotlin users, .gravity = Gravity.CENTER

ANSWER:

android:layout_centerInParent="true"

This works when used with a RelativeLayout where the layout’s height & width are set to wrap_content.

ANSWER:

You can also set it up dynamically using:

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