[Android5 系列—] 1. 構建一個簡單的使用者介面

來源:互聯網
上載者:User

標籤:

前言

安卓應用的使用者介面是構建在View 和ViewGroup 這兩個物件的層級之上的。 View 就是一般的UI組件,像按鈕,輸入框等。 viewGroup 是一些不可見的view的容器,用來定義子View 如何布局, 類似在一個網格或是一個垂直列表。

安卓提供了一套XML的標籤詞彙用來定義UI的頁面顯示。



定義一個線性布局

1. 在 res/layout 目錄下。開啟 activity_my.xml (my 是您定義的activity 的名字)

在建立工程師包含的 BlankActivity 模板檔案,包含一個 RelativeLayout 的根視圖和一個  TextView 的子視圖。

2. 刪除  <TextView> 元素

3. 將 <RelativeLayout> 修改成 <LinearLayout>.

4. 添加 android:orientation  屬性 ,並把值設定成  "horizontal".

5. 移除 android:padding 和 tools:context 的屬性

修改後的檔案類似:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal" ></LinearLayout>

LinearLayout  是一個視圖組(ViewGroup的一個子類),這個布局配合設定 android:orientation把子視圖布置成水平或豎直方向。

android:layout_width 和 android:layout_height  這兩個屬性用來設定布局的大小。這個值設定成 "match_parent" 就會撐開他的長寬和父View 適應。

過多關於布局的內容,可以參考官方介紹:


http://developer.android.com/guide/topics/ui/declaring-layout.html


添加一個文本輸入框

1. 在 activity_my.xml ,在<LinearLayout> 中,定義<EditText>元素,屬性 “id”的值設定成 @+id/edit_message.

2. layout_width 和 layout_height的屬性值設定成"wrap_content"

3. 定義 hint 的屬性,值為 edit_message.

res/layout/activity_my.xml  , 完整的定義類似:

<EditText android:id="@+id/edit_message"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:hint="@string/edit_message" />

屬性及屬性值說明

android:id  -- 

@+id/edit_message
@ 的意思是: 但需要從XML 讀取資源物件時

  +: 但首次定義一個資源ID時,需要加上 "+“號。 在編譯APP的時候, SDK 工具會通過ID 名字在gen\R.java中建立一個新的資源ID/

  id: 是類型(處理id類型, 還有string 等類型)

  edit_message: 這個下面就會介紹如何建立


android:layout_width 和 android:layout_height

"wrap_content"

替代設定實際的寬度和高度, wrap_content 這個值可以讓view 填充整個內容。


android:hint

當 輸入框為空白時, 設定的預設顯示字串。


添加字串資源
預設狀況, 安卓工程會匯入字串資源檔  res/values/strings.xml. 這裡就添加以下上面用到的   "edit_message" 等1.  開啟 res/values/strings.xml2.  添加一行 "edit_message", 值設定成  "Enter a message".3. 再添加一行, "button_send" 值設定成 "Send".res/values/strings.xml, 結果類似
<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">My First App</string>    <string name="edit_message">Enter a message</string>    <string name="button_send">Send</string>    <string name="action_settings">Settings</string>    <string name="title_activity_main">MainActivity</string></resources>

添加一個按鈕
1. 開啟 activity_my.xml2. 在 <LinearLayout> 中,在<EditText> 後添加一個<Button> 元素3. 設定按鈕的寬度和高度的屬性值為 "wrap_content"4. 定義    android:text 用來定義按鈕的顯示。
res/layout/activity_my.xml   
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="horizontal" >      <EditText android:id="@+id/edit_message"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:hint="@string/edit_message" />      <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/button_send" /></LinearLayout>



使輸入框填充整個螢幕
以上的部分, 運行後效果如下:


可以看到, 輸入框並沒有佔滿這個螢幕。設定 <EditText> 的屬性  layout_weight  和  layout_width
<EditText    android:layout_weight="1"    android:layout_width="0dp"    ... />

再運行看一下 ....




著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

[Android5 系列—] 1. 構建一個簡單的使用者介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.