2010年5月26日 星期三

Android程式設計(六) 使用者介面設計-1

Android預設是使用介面顯示與程式邏輯分離方式,使用介面描述檔來描述UI版面的配置與介面元件之排列,再由程式依據介面描述檔內容顯示。這種方式不但程式簡潔,也便於後續修改維護。
Android提供的介面元件可概分為三類:
 版面配置類:用來配置各種顯示介面的版面,例如Layout、Tab。
 顯示介面類:顯示與輸入介面,例如文字、按鈕、輸入欄位等。
 狀態提示類:用來提示使用者應用程式相關訊息之介面,例如進度條、等待圈。
檢視HELLO專案程式碼,OnCreate ()方法的最後一行指令setContentView (R.layout.main) ,意思就是依據layout資源檔中的main.xml檔內容做為目前的顯示介面 (View)。
打開HELLO專案中的「res/layout/main.xml」檔,main.xml就是預設的介面描述檔,其預覽畫面就是目前Hello程式的執行畫面。
切換到main.xml頁籤,檢視main.xml文件內容。
元素表示使用線性版面配置,其android:orientation屬性值為"vertical",表示這個介面的版面配置方式是從上而下排列其內含的介面元件;目前android:layout_width屬性值及android:layout_height屬性值都是"fill_parent",表示版面寬度與高度都為「填滿整個上層元件」。
目前元素內只有一個子元素,表示在版面中加入一個文字檢視元件,其android:layout_width屬性值設為"fill_parent",表示版面寬度為「填滿整個上層元件」;android:layout_height屬性值設為"wrap_content",表示隨著文字欄位行數機動地調整介面的高度;android:text屬性表示文字檢視元件所要顯示的文字,目前屬性值為"@string/hello"表示從資源檔中尋找名為hello的字串資源
對照BMI專案中的「res/values/strings.xml」檔,內容如下:
<?xml version="1.0" encoding="utf-8"?><
resources>
    <string name="hello">Hello World, Hello!</string>
    <string name="app_name">Hello Android</string>
</resources>
可看到hello字串資源內容即是「Hello World, Hello!」。
操作練習:
1. 開啟「res/layout/main.xml」檔,在最後加入一個< TextView >子元素,內容如下:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="@string/copyright"/>
2. 開啟「res/values/strings.xml」檔,加入一個字串資源,字串名稱 "copyright",字串內容 "南開科技大學電子工程系"。
3. 重新編譯執行程式,就可看到剛才新加入的文字。

Android程式設計(七) 使用者介面設計-2