|
框架布局是將控件組織在Android程序的用戶界面中最簡單的布局類型之一。
理解布局對于良好的Android程序設計來說是非常重要的。在這個教程里,你將學到所以關于框架布局的知識,它們主要用來在屏幕上組織特別的或重疊的視圖控件。使用得當的話,很多有趣的Android程序用戶界面都可以基于框架布局來設計。
什么是框架布局
框架布局是Android開發者組織視圖控件最簡單和最有效的布局之一。它們使用得比其它一些布局要少一些,只是因為它們一般只用于顯示單個視圖,或重疊的視圖。框架布局常用作容器布局,因為它一般只有一個子視圖(通常是另一個布局,用于組織多個視圖)。
技巧:事實上,你會看到框架布局是作為你設計的任何布局資源的父布局來使用的。如果你在層級視圖工具(Hierarchy Viewer tool,一個很有用的調試你的程序布局的工具)創建你的程序,你會發現你設計的任何布局資源都被顯示在一個父布局中——一個框架布局。
框架布局非常簡單,這使得它們非常高效。它們可以在XML布局資源文件中定義,也可以通過Java代碼在程序中定義。框架布局中的一個子視圖總是被繪制到相對于屏幕的左上角上。如果存在多個子視圖,那么他們被按順序一個堆疊在另一個上面的方式繪制。這意味著第一個添加到框架布局的視圖將顯示在棧的底部,最后添加的視圖會顯示在最頂部。
讓我們來看一個簡單的例子。我們假設有一個框架布局大小調整到控制整個屏幕(換句話說,layout_width and layout_height屬性都設置為match_parent)。我們要添加三個子控件到這個框架布局:
- 一個有湖面圖片的ImageView。
- 一個在屏幕頂部顯示的TextView。
- 一個在屏幕底部顯示的(使用layout_gravity屬性將TextView下沉到父布局的底部)TextView。
下圖展示這種類型的布局在屏幕上會是什么樣:
在XML資源文件中定義框架布局
設計程序用戶界面最方便和可維護的方法是創建XML布局資源。這個方法極大地簡化了UI設計過程,將很多靜態創建和用戶界面控件的布局以及控件屬性的定義移到XML中去,取代了寫代碼。
XML布局資源必須存儲在/res/layout項目目錄下。讓我們看看前一節介紹的框架布局。同樣地,這個屏幕基本上就是一個有三個子視圖的框架布局:一個充滿整個屏幕的圖片,兩個文本控件繪制在它上面,每一個文本控件都是默認透明背景。這個布局資源文件命名為/res/layout/framed.xml,在XML中如下定義:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent" Android:layout_height="fill_parent">
<ImageView Android:id="@+id/ImageView01" Android:layout_height="fill_parent"
Android:layout_width="fill_parent" Android:src="@drawable/lake"
Android:scaleType="matrix"></ImageView>
<TextView Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textColor="#000"
Android:textSize="40dp"
Android:text="@string/top_text" />
<TextView Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:text="@string/bottom_text"
Android:layout_gravity="bottom" Android:gravity="right"
Android:textColor="#fff" Android:textSize="50dp" /> </FrameLayout>
it知識庫:Android用戶界面設計:框架布局,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。