線性佈局(LinearLayout)是Android五種佈局中最簡單的佈局之一,它提供了控件水平或垂直排列的模型。同時,使用此佈局時可以通過設置控件的weight參數來控制各個控件在容器內的相對大小。
LinearLayout佈局的屬性既可以在佈局文件(XML)中設置,也可以通過成員方法進行設置。下面給出LinearLayout常用的屬性及其對應屬性設置的方法。
屬性名稱 | 對應方法 | 描述 |
android:orientation | setOrientation(int) | 設置線性佈局的朝向,可取horizontal(水平)和vertical(垂直)兩種排列方式 |
android:gravity | setGravity(int) | 設置線性佈局的內部元素的佈局對齊方式 |
線性佈局中使用gravity屬性來設置其內部子控件的對齊方式,當要爲gravity設置多個值時,用“|”來分隔。gravity可取得值及其說明見下表:
屬性值 | 說明 |
top | 不改變控件大小,對齊到容器頂部 |
bottom | 不改變控件大小,對齊到容器底部 |
left | 不改變控件大小,對齊到容器左側 |
right | 不改變控件大小,對齊到容器右側 |
center_vertical | 不改變控件大小,對齊到容器縱向中央位置 |
center_horizontal | 不改變控件大小,對齊到容器橫向中央位置 |
center | 不改變控件大小,對齊到容器中央位置 |
fill_vertical | 若有可能,縱向拉伸以填滿容器 |
fill_horizontal | 若有可能,橫向拉伸以填滿容器 |
fill | 若有可能,縱向橫向同時拉伸以填滿容器 |
下面來看一下效果:
其中Main.xml代碼如下:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:gravity="center_horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <LinearLayout android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="2">
- <TextView android:text="Welcome to sunchis.com"
- android:textSize="15pt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content" />
- </LinearLayout>
- <LinearLayout android:orientation="horizontal"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_weight="1">
- <!-- 這裏字水平居中 -->
- <TextView android:text="red"
- android:gravity="center_horizontal"
- android:background="#aa0000"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
- <TextView android:text="green"
- android:gravity="center_horizontal"
- android:background="#00aa00"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:layout_weight="1"/>
- </LinearLayout>
- </LinearLayout>