Android UI控制元件系列:LinearLayout(線性佈局)

apkbus發表於2014-12-02

LinearLayout是線上性方向顯示View元素的一個ViewGroup,可以是水平方向,也可以是垂直方向

你可以重複使用LinearLayout,如果你想使用巢狀多層的LinearLayout的話,你可以考慮使用RelativeLayout來替換.

1、開始建立一個工程名字叫做HelloLinearLayout

2、開啟res/layout/main.xml檔案並且插入如下內容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
        <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"
                />
                <TextView
                        android:text="blue"
                        android:gravity="center_horizontal"
                        android:background="#0000aa"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                />
                <TextView
                        android:text="yellow"
                        android:gravity="center_horizontal"
                        android:background="#aaaa00"
                        android:layout_width="wrap_content"
                        android:layout_height="fill_parent"
                        android:layout_weight="1"
                />
        </LinearLayout>
        <LinearLayout
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="1">
                <TextView
                        android:text="row one"
                        android:textSize="15pt"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                />
                <TextView
                        android:text="row two"
                        android:textSize="15pt"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                />
                <TextView
                        android:text="row three"
                        android:textSize="15pt"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                />
                <TextView
                        android:text="row four"
                        android:textSize="15pt"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                />
        </LinearLayout>
</LinearLayout>

仔細檢查這個XML檔案。有一個根元素LinearLayout定義了它的方向是垂直的,所有的子View(一共有2個)都是被垂直方向堆起的,第一個子孩子是另一個以水平方向佈局的LinearLayout,並且第二個子孩子是一個用垂直方向佈局的LinearLayout,這些每一個被巢狀的LinearLayout都包含幾個TextView元素,它們的方向是由父LinearLayout標籤所定義。

3、現在開啟HelloLinearLayout.java並且確定它已經在onCreate()方法中載入了res/layout/main.xml佈局檔案

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

setContentView(int)方法為Activity載入了佈局檔案,由資源resource ID所指定—R.layout.main指的是res/layout/main.xml佈局檔案

4、執行程式,你可以看到如下的情況

相關文章