|
理解布局對(duì)于良好的Android程序設(shè)計(jì)來(lái)說(shuō)很重要。在這個(gè)教程中,你將學(xué)習(xí)到所有關(guān)于線性布局的東西,它在屏幕上垂直地或水平地組織用戶界面控件或者小工具。使用得當(dāng),線性布局可以作為基本的布局,基于這個(gè)布局來(lái)可以設(shè)計(jì)出許多有趣的Android程序用戶界面。
什么是線性布局
線性布局是最簡(jiǎn)單,Android開(kāi)發(fā)者使用得最多的布局類(lèi)型之一,開(kāi)發(fā)者用它來(lái)組織你們的用戶界面上的控件。線性布局的作用就像它的名字一樣:它將控件組織在一個(gè)垂直或水平的形式。當(dāng)布局方向設(shè)置為垂直時(shí),它里面的所有子控件被組織在同一列中;當(dāng)布局方向設(shè)置為水平時(shí),所有子控件被組織在一行中。
線性布局可以在XML布局資源文件中定義,也可以用Java代碼在程序中動(dòng)態(tài)的定義。
下圖展示了一個(gè)包含7個(gè)TextView控件的線性布局。這個(gè)線性布局方向被設(shè)置為垂直,導(dǎo)致每個(gè)TextView控件被顯示在一列當(dāng)中。每一個(gè)TextView控件的文本屬性都是一個(gè)顏色值,背景色就是這個(gè)顏色;通過(guò)將控件的layout_width屬性設(shè)置為fill_parent,每個(gè)控件都拉伸到屏幕寬度。
用XML布局資源定義線性布局
設(shè)計(jì)程序用戶界面最方便和可維護(hù)的方法是創(chuàng)建XML布局資源。這個(gè)方法極大地簡(jiǎn)化了UI設(shè)計(jì)過(guò)程,它將很多靜態(tài)創(chuàng)建和用戶界面控件的布局以及控件屬性的定義移到了XML中,而不是寫(xiě)代碼。
XML布局資源必須被存儲(chǔ)在項(xiàng)目目錄的/res/layout下。讓我們看看前一節(jié)介紹的彩虹線性布局。這個(gè)屏幕基本上就是一個(gè)設(shè)置為鋪滿整個(gè)屏幕的垂直線性布局,這通過(guò)設(shè)置它的layout_width和layout_height屬性為fill_parent來(lái)實(shí)現(xiàn)。適當(dāng)?shù)貙⑵涿麨?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知識(shí)庫(kù):Android用戶界面設(shè)計(jì):線性布局,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。