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>
(0)

相关推荐

  • android LinearLayout和RelativeLayout组合实现精确布局方法介绍

    先明确几个概念的区别: padding margin都是边距的含义,关键问题得明白是什么相对什么的边距. padding是控件的内容相对控件的边缘的边距. margin是控件边缘相对父空间的边距.  android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layout_gravity是用来设置该view中的子view相对于父view的位置.比如一个button

  • Android应用的LinearLayout中嵌套RelativeLayout的布局用法

    想将Button和ListView分别放在屏幕的一左一右. 单纯使用android:gravity和android:layout_gravity不成功. 于是涉及到RelativeLayout. 关键为:android:layout_alignParentRight="true", android:layout_alignParentLeft="true": <?xml version="1.0" encoding="utf-8&

  • Android自定义控件LinearLayout实例讲解

    很多时候Android常用的控件不能满足我们的需求,那么我们就需要自定义一个控件了.今天做了一个自定义控件的实例,来分享下. 首先定义一个layout实现按钮内部布局: <?xmlversion="1.0"encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&

  • Android App中的多个LinearLayout嵌套布局实例解析

    在做android  UI布局时,用了LinearLayout嵌套,发现效果并不如我预料一般 查了下资料,说是要设置layout_weight属性 资料说得不是很清楚,也没仔细看,就去弄,结果越弄越混乱. 于是静下心来,自己写xml测试,发现如下. 如果LinearLayout是最外面的一层,它是不会弹出layout_weight属性的, 换句话说最外层不能用layout_weight xml布局如下 <LinearLayout xmlns:android="http://schemas.

  • Android App中使用LinearLayout进行居中布局的实例讲解

    要想让您的控件水平居中或垂直居中其实很简单,只要在控件的上一级中设置[android:gravity="center"]属性即可 如: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:gravity="center" android:backgro

  • android 线性布局LinearLayout实例代码

    布局文件:res/layout/activity_my.xml 复制代码 代码如下: [html]  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/LinearLayout"     android:

  • Android使用LinearLayout设置边框

    找到好多人的,都是文章随便copy,自己都不验证下,特别说LinearLayout中可以设置他的divider属性的,我在Android Studio中试了,根本显示不出来,这边是csdn上一个朋友回答的,我收藏了,放到这里,后面备用. 1.定一个underline的xml文件,把它放到drawable下 underline.xml <?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:a

  • Android中LinearLayout布局的常用属性总结

    基本属性要求 <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> </LinearLayout> android:orientation 决定是水平排列或是垂直排列 vertical 垂直排列 horizontal 水平排列 垂直排列 Bu

  • android LinearLayout 布局实例代码

    复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>  <!--      <LinearLayout>         线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的   --> <LinearLayout      xmlns:android="http://schemas.android.com/apk/res/android"    

  • Android 布局控件之LinearLayout详细介绍

    LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失.因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度).LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐.中间对齐或者左对齐). API说明

随机推荐