首先说的是LinearLayout布局下的居中一般是这样的:
(注意:android:layout_width="fill_parent" android:layout_height="fill_parent" 属性中,若水平居中,至少在宽度上占全屏;若垂直居中,则在高度上占全屏)
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center|center_horizontal|center_vertical" > // 上面gravity属性的参数:center为居中,center_horizontal为水平居中,center_vertical为垂直居中 <Button android:id="@+id/Binding_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关联新账户" /> </LinearLayout>
要实现垂直水平居中,几个基本参数值得注意:
1、android:orientation="vertical"表示该布局下的元素垂直排列;
2、android:layout_gravity="center_horizontal"表示该布局在父布局里水平居中,此时其父布局必须拥有android:orientation="vertical"属性;
3、android:layout_gravity="center_vertical"表示该布局在父布局里垂直居中,此时其父布局必须应设置成android:orientation="horizontal"属性(默认为该属性),且其父布局的高度应设置为android:layout_height="fill_parent"属性;
4、android:gravity="center_horizontal"表示该布局下的元素水平居中;
线性布局垂直水平居中布局文件实例:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_gravity="center_horizontal" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_gravity="center_vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:layout_width="100dp" android:layout_height="wrap_content" android:gravity="right" android:text="用户名" /> <EditText android:layout_width="300dp" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:layout_width="100dp" android:layout_height="wrap_content" android:gravity="right" android:text="Email" /> <EditText android:layout_width="300dp" android:layout_height="wrap_content" /> </LinearLayout> </LinearLayout> </LinearLayout> </LinearLayout>