Android LayOut布局

计应112 贺利琴

Android布局主要有以下几种:1.线性布局( LinearLayout);2.相对布局( RelativeLayout);3.绝对布局(AbsoluteLayout);4.表格布局(TableLayout)。

LinearLayout线性布局,包含在LinearLayout里面的控件按顺序排列成一行或者一列,它的常用的属性主要包括:

Orientation方向:即指定LinearLayout是代表一行还是一列,可以为horizontal(水平方向)或vertical(垂直方向)默认是horizontal,如android:orientation="vertical"。
 
Fill Mode填充方式:所有在LinearLayout的控件都必须指定它的填充方式, 即设置android:layout_width和android:layout_height,可以为三种值(1)具体的像素值,如30px(2) wrap_content, 表示按控件文本实际长度显示 (3) fill_parent, 表示填充剩下的所有可用空间。
 
Weight权重:如果想让一行或一列的控件按比例显示,这时候权重就起到作用了,如想让一行里面两控件其中一控件占两倍于另一控件的空间,可以把其中一控件的android:layout_weight设置为1, 另一个为2 即可。
 
gravity对齐方式:该属性用于控制布局控件中控件的对齐方式。如果是没有子控件的控件设置此属性,作用于控件内的文字;如果是有子控件的控件设置此属性,则作用于控件。gravity的常用属性有top,bottom,left,right,center等,可以使用“|”将多个值连接。

例如:在一个大的LinearLayout中两个小的LinearLayout,在这两个LinearLayout中分别有三个文本框,按照垂直线性排列和水平线性排列,其比例均为:1:1:1。布局如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:orientation="horizontal" android:background="#ff0000" android:layout_weight="1">

        <TextView
            android:id="@+id/textView1"
            android:layout_width="0px"
            android:layout_height="fill_parent"
            android:text="1" android:background="#ff0000" android:layout_weight="1"/>

        <TextView
            android:id="@+id/textView2"
            android:layout_width="0px"
            android:layout_height="fill_parent"
            android:text="2" android:background="#0000ff" android:layout_weight="1"/>

        <TextView
            android:id="@+id/textView3"
            android:layout_width="0px"
            android:layout_height="fill_parent"
            android:text="3" android:background="#00ffff" android:layout_weight="1"/>

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="0px"
        android:orientation="vertical" android:layout_weight="1">

        <TextView
            android:id="@+id/textView4"
            android:layout_width="fill_parent"
            android:layout_height="0px"
            android:text="4" android:background="#00ff00" android:layout_weight="1"/>

        <TextView
            android:id="@+id/textView5"
            android:layout_width="fill_parent"
            android:layout_height="0px"
            android:text="5" android:background="#ff0000" android:layout_weight="1"/>

        <TextView
            android:id="@+id/textView6"
            android:layout_width="fill_parent"
            android:layout_height="0px"
            android:text="6" android:background="#ffff00" android:layout_weight="1"/>

    </LinearLayout>

  </LinearLayout>

可以看到父类LinearLayout包含了一个垂直布局的LinearLayout和一个水平布局的LinearLayout,它们分别包含了三个平分宽度和高度的TextView,运行效果如下:
 

 

posted @ 2013-05-19 18:52  Pretend257  阅读(164)  评论(0编辑  收藏  举报