|
理解布局對于良好的Android程序設計來說很重要。在這個教程中,你將學習到所有關于線性布局的東西,它在屏幕上垂直地或水平地組織用戶界面控件或者小工具。使用得當,線性布局可以作為基本的布局,基于這個布局來可以設計出許多有趣的Android程序用戶界面。
什么是線性布局
線性布局是最簡單,Android開發者使用得最多的布局類型之一,開發者用它來組織你們的用戶界面上的控件。線性布局的作用就像它的名字一樣:它將控件組織在一個垂直或水平的形式。當布局方向設置為垂直時,它里面的所有子控件被組織在同一列中;當布局方向設置為水平時,所有子控件被組織在一行中。
線性布局可以在XML布局資源文件中定義,也可以用Java代碼在程序中動態的定義。
下圖展示了一個包含7個TextView控件的線性布局。這個線性布局方向被設置為垂直,導致每個TextView控件被顯示在一列當中。每一個TextView控件的文本屬性都是一個顏色值,背景色就是這個顏色;通過將控件的layout_width屬性設置為fill_parent,每個控件都拉伸到屏幕寬度。
用XML布局資源定義線性布局
設計程序用戶界面最方便和可維護的方法是創建XML布局資源。這個方法極大地簡化了UI設計過程,它將很多靜態創建和用戶界面控件的布局以及控件屬性的定義移到了XML中,而不是寫代碼。
XML布局資源必須被存儲在項目目錄的/res/layout下。讓我們看看前一節介紹的彩虹線性布局。這個屏幕基本上就是一個設置為鋪滿整個屏幕的垂直線性布局,這通過設置它的layout_width和layout_height屬性為fill_parent來實現。適當地將其命名為/res/layout/rainbow.xml,XML定義如下:
<?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">
<TextView Android:text="RED" Android:id="@+id/TextView01"
Android:layout_height="wrap_content" Android:background="#f00"
Android:layout_width="fill_parent" Android:layout_weight=".14"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="ORANGE" Android:id="@+id/TextView02"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".15" Android:background="#ffa500"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="YELLOW" Android:id="@+id/TextView03"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#ffff00"
Android:gravity="center" Android:textColor="#000"></TextView>
<TextView Android:text="GREEN" Android:id="@+id/TextView04"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".15" Android:background="#0f0" Android:gravity="center"
Android:textColor="#000"></TextView>
<TextView Android:text="BLUE" Android:id="@+id/TextView05"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#00f" Android:gravity="center"
Android:textColor="#fff"></TextView>
<TextView Android:text="INDIGO" Android:id="@+id/TextView06"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#4b0082"
Android:gravity="center" Android:textColor="#fff"></TextView>
<TextView Android:text="VIOLET" Android:id="@+id/TextView07"
Android:layout_height="wrap_content" Android:layout_width="fill_parent"
Android:layout_weight=".14" Android:background="#ee82ee"
Android:gravity="center" Android:textColor="#000"></TextView>
</LinearLayout>
it知識庫:Android用戶界面設計:線性布局,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。