在Android 應用中,用戶界面是非常重要的,它是人與手機之間傳遞、交換信息的媒介和對話接口,是Android 系統的重要組成部分。它實現信息的內部形式與用戶可以接受形式之間的轉換。iPhone 之所以被人們所推崇,除了其功能強大之外,最重要的是完美的UI(用戶界面)設計,在Android 系統中,我們也可以開發出與iPhone
同樣絢麗多彩的UI。
一個Android 應用的用戶界面是由View 和ViewGroup 對象構建的。它們有很多的種類,並且都是View 類的子類,View 類是Android 系統平台上用戶界面表示的基本單元。View類的一些子類被統稱為“widgets(工具)”,它們提供了諸如文本輸入框和按鈕之類的UI
對象的完整實現。ViewGroup 是View 的一個擴展,它可以容納多個子View。通過擴展ViewGroup 類,你可以創建由相互聯系的子View 組成的復合控件。ViewGroup 類同樣可以被擴展用作layout(布局)管理器,如LinearLayout(線性布局)、TableLayout(表格布局)
以及RelativeLayout(相對布局)等布局架構。並且用戶可以通過用戶界面與程序進行交互。
首先我們來說說LinearLayout。
“LinearLayout”翻譯成中文是“線性布局”,所謂線性布局就是在該標簽下的所有子元素會根據其orientation屬性的值來決定是按行或者是按列逐個顯示。
線性布局我們一般不會單用的,因為它太局限性了,它只能制作簡單的界面,如果我們想做如下界面,那麼就必須運用嵌套了。
實現代碼如下
- <?xml version="1.0" encoding="utf-8"?>
-
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-
- android:layout_width="match_parent"
-
- android:layout_height="match_parent"
-
- android:orientation="vertical" >
-
-
-
- <LinearLayout
-
- android:layout_width="match_parent"
-
- android:layout_height="wrap_content"
-
- android:orientation="horizontal" >
-
-
-
- <TextView
-
- android:layout_width="wrap_content"
-
- android:layout_height="wrap_content"
-
- android:text="@string/username" />
-
-
-
- <EditText
-
- android:layout_width="fill_parent"
-
- android:layout_height="wrap_content" />
-
- </LinearLayout>
-
-
-
- <LinearLayout
-
- android:layout_width="match_parent"
-
- android:layout_height="wrap_content"
-
- android:orientation="horizontal" >
-
-
-
- <TextView
-
- android:layout_width="wrap_content"
-
- android:layout_height="wrap_content"
-
- android:text="@string/userpass" />
-
-
-
- <EditText
-
- android:layout_width="fill_parent"
-
- android:layout_height="wrap_content" />
-
- </LinearLayout>
-
-
-
- <TableLayout
-
- android:layout_width="match_parent"
-
- android:layout_height="match_parent"
-
- android:stretchColumns="*" >
-
-
-
- <TableRow >
-
-
-
- <Button
-
- android:layout_width="wrap_content"
-
- android:layout_height="wrap_content"
-
- android:text="@string/login" />
-
-
-
- <Button
-
- android:layout_width="wrap_content"
-
- android:layout_height="wrap_content"
-
- android:text="@string/cancel" />
-
- </TableRow>
-
- </TableLayout>
-
-
-
- </LinearLayout>