TextView гравитация работает в соответствии с вашим родительским макетом.
LinearLayout
Если вы используете LinearLayout, вы найдете два атрибута гравитации
Android: гравитация и Android: макет_ гравитации
android: gravity: представляет зелье макета внутреннего текста TextView, пока
android: layout_gravity: представляет позицию TextView в родительском представлении.
Если вы хотите установить текст по горизонтали и вертикали по центру, используйте код ниже
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center_horizontal"
android:layout_gravity="center_vertical"
android:layout_height="wrap_content"
/>
</LinearLayout>
RelativeLayout
Используя RelativeLayout, вы можете использовать свойство ниже в TextView
android: gravity = "center" для текстового центра в TextView.
android: gravity = "center_horizontal" внутренний текст, если вы хотите горизонтально центрировать.
android: gravity = "center_vertical" внутренний текст, если вы хотите, чтобы он был по центру.
android: layout_centerInParent = "true", если вы хотите, чтобы TextView находился в центральной позиции родительского представления.
android: layout_centerHor horizontal = "true", если вы хотите, чтобы TextView находился в горизонтальном центре родительского представления.
android: layout_centerVertical = "true", если вы хотите, чтобы TextView располагался вертикально в центре родительского представления.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="300dp"
android:background="@android:color/background_light"
android:layout_height="300dp">
<TextView
android:layout_width="match_parent"
android:text="Hello World!"
android:gravity="center"
android:layout_centerInParent="true"
android:layout_height="wrap_content"
/>
</RelativeLayout>