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="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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章