標籤:android style blog http color 使用 io 檔案
使用者介面的概觀
全部的Android應用程式的使用者介面元素都是用View和ViewGroup對象構建的。View就是在手機螢幕上描繪一個能夠與使用者互動的一個對象。ViewGroup是包括View對象和其它ViewGroup對象的一個容器物件,以便定義所包括的介面的布局。
Android提供的View和ViewGroup的子類的集合,為我們提供了了經常使用的輸入控制項(比方button和文字欄位) 和各種布局模型(比方線性布局和相對布局)
使用者介面的布局
每一個應用程式的組件的使用者介面都是用View和ViewGroup對象的階層來定義的,1所看到的。每一個ViewGroup是用來組織View對象的一個隱形的一個容器。這些View對象可能是輸入控制項或者其它視窗小組件。這個階層樹依據你的需求可簡單可複雜(可是簡單對效能來說是最好的)
圖1. 定義UI布局的view階層的插圖
聲明一個布局(在Activity類種onCreate方法中調用setContentView(R.layout.main))後,你能夠在代碼中執行個體化一個View對
象和建立一個樹結構,可是最簡單和最有效方法是在一個xml檔案裡定義布局。這個XML檔案提供了一個可讀的布局結構,類似於HTML
View所相應的的XML元素的名字各自相應了它所代表的的Android類。所以一個<TextView>元素在UI中建立了一個TextView組件,一個<LinearLayout>元素建立了一個LinearLayout view group
舉例說明,一個簡單的包括text view和button的垂直布局例如以下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextViewandroid:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a TextView"/>
<Buttonandroid:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="I am a Button"/>
</LinearLayout>
當你在你的應用程式中載入一個布局資源時,Android將該布局資源檔的每一個節點初始化成執行時的對象 。能夠拿到這個對象(findViewById(R.id.tv))來定義附加的行為,查詢此對象的狀態,或者改動布局。
使用者介面的組件
不一定必須通過View和ViewGroup對象來建立UI。Android提供的幾個應用程式組件,為我們提供了標準的使用者介面布局,我們僅僅需為這個布局定義內容就能夠了。這些使用者介面組件(比方Action Bar,Dialogs,Status Notifications)都有自己唯一的一組APIs,這些APIs都定義在各自的文檔裡。