首先說的是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>