用戶界面綜述
在Android應用中所有的用戶界面元素都是使用 View
和 ViewGroup
對象構建的。View
是可以在屏幕上繪製出用戶交互內容的對象。ViewGroup
是用來定義界面佈局和容納其他 View
(和 ViewGroup
)的對象。
Android準備了一些 View
和 ViewGroup
子類爲你提供普通輸入控制(比如按鈕和文本輸入框)和各種各樣的佈局模塊(比如線性佈局和相對佈局)。
用戶界面佈局
應用中每個組件的用戶界面是如圖1那樣使用 View 和 ViewGroup 層次結構定義的。每個視圖組都是一個可見的、可組織子視圖的容器,子視圖可能是輸入控制或用來繪製UI某些部分的其他窗口部件。層次樹會根據你的需要變得簡單或複雜(但是簡單可以提供最好的性能)。
圖1.定義UI佈局的視圖層次插圖。
你可以在代碼裏實例化一個 View 對象然後構建一層次樹來定義你的佈局,但是最簡單和搞笑的方式是在XML文件中定義佈局。XML類似HTML爲視圖提供了一個人類可讀的結構。
XML元素的名稱與它體現的Android類相對應。所以<TextView>
元素可以在你的UI種創建 TextView
組件,<LinearLayout>
元素創建 LinearLayout
試圖組。
例如,帶有文本視圖和按鈕的簡單垂直佈局就像這樣:
<?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:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button" />
</LinearLayout>
當你在應用中載入佈局資源時,Android會把每個佈局節點初始化到運行時對象中,這樣你就能用它定義附加行爲、查詢對象狀態或修改佈局。
請查閱 XML Layouts 瞭解創建UI佈局的完整指南。
用戶界面組件
你不必使用 View
和 ViewGroup
對象來構建所有的用戶界面。Android準備了一些應用組件爲你提供標準的UI佈局,這樣你只需要簡單的定義內容就可以了。這些UI組件每個都有一套獨特的API,在各自的文檔中都有描述的,例如 Action
Bar,Dialogs 和 Status
Notifications。