首先要分两种不同情况,在两种不同的布局方式下:LinearLayout 和RelativeLayout
1. LinearLayout
a). android:layout_gravity="center_horizontal"表示该布局在父布局里水平居中,此时其父布局必须拥有android:orientation="vertical"属性;
b). android:layout_gravity="center_vertical"表示该布局在父布局里垂直居中,此时其父布局必须应设置成android:orientation="horizontal"属性(默认为该属性),且其父布局的高度应设置为android:layout_height="fill_parent"属性;
2. RelativeLayout
属性值为true或false
a). android:layout_centerHrizontal 控件在父布局中 水平居中
b). android:layout_centerVertical 控件在父布局中 垂直居中
c). android:layout_centerInparent 控件相对于父元素完全居中
这里要明确一点,你是想控件里的内容水平居中,还是它在父亲控件中水平居中,
a). 让textView里面的内容水平居中 : android:gravity="center_horizontal"
b). 让textView控件在它的父布局里水平居中 android:layout_gravity="center_horizontal"
来源:https://www.cnblogs.com/moshk/p/13153201.html