欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android应用借助LinearLayout实现垂直水平居中布局

程序员文章站 2024-02-29 20:15:40
首先说的是linearlayout布局下的居中一般是这样的: (注意:android:layout_width="fill_parent" android:layout_...

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