Android应⽤借助LinearLayout实现垂直⽔平居中布局
⾸先说的是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="schemas.android/apk/res/android"
xmlns:tools="schemas.android/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>
android layout布局</LinearLayout>
</LinearLayout>
</LinearLayout>