標籤:android style blog http io color ar os 使用
Android視圖架構
Android的UI系統是android應用系統架構最核心,最基礎的內容!
1. Android視圖系統、層次關係
Android應用設計和Web應用設計類似,也分前端和後端設計。Android的核心要素和四大組件屬於後端設計部分,UI設計屬於前端設計。前端設計決定了使用者體驗的好壞,後端設計則決定了功能的完備和應用的安全、穩定。
對Android的UI設計來說,用到的最重要的兩個類是:View和ViewGroup。它們決定著展示給使用者的外觀介面的形狀。下面介紹下Android視圖系統的層次關係:
圖 1. 介面 (UI)
View 類是所有視圖控制項 (包括 ViewGroup) 的基類。 各種 UI 控制項都繼承 View類,通過實現不同的介面實現特定功能。關於繼承關係,多說一下,方便大家更清楚的理解控制項,見:
圖 2. 控制項繼承關係
圖 3 . 常用的UI 控制項
2. Android 視圖架構 MVC 模型
Android 的 使用者介面架構也是採用的 MVC 進行組織的,它提供控制器處理使用者輸入,對模型做出相應操作,並將結果反饋到視圖,重新構建視圖、渲染到螢幕。
圖4. Android UI的MVC模型
3. Android 視圖執行過程分析
在 Android 的開發中,視圖布局,採用 XML 檔案編寫,通過在 XML 檔案中添加相應的控制項,設定其屬性達到布局的目的。一個簡單的布局檔案如下:
demo.xml 檔案內容
<?xml version="1.0" encoding="utf-8"?> //聲明xml檔案編碼及版本<LinearLayout //使用線性布局,對內部控制項內部起作用,十七線性排列//引用的命名空間xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:padding="5dp"android:orientation="vertical" > //內部控制項排列方向:垂直排列<EditText //添加一個文本輸入框控制項android:id="@+id/show" //設定該控制項ID//一下到結束為該控制項的各種屬性設定,使其在介面上顯示出特定樣式android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:layout_weight="2"android:lines="3"android:editable="false"android:gravity="top|right"android:cursorVisible="true"android:text=""android:textSize="24sp"/> //結束該控制項</LinearLayout> //布局結束標示
一個布局檔案(demo.xml)建立好後,建立一個 Test.java 檔案來使用該布局檔案,如下:
Test.java檔案內容
package com.AcerWang.Test;import android.app.Activity;import android.os.Bundle;import android.view.View;//建立的Test必須繼承Activity,才能建立出活動public class Test extends Activity{//重載onCreate方法,產生新的活動,視圖的呈現在活動中,活動執行用戶互動的行為,關於活動(Activity)的作用,在 前一篇文章 中有介紹。@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//將之前寫的布局檔案輸出到螢幕setContentView(R.layout.demo); }}
4. 總結
以上是對 Android 視圖架構結構、原理及執行流程的簡單介紹,希望對新手有所協助。介紹的原理比較多,比較枯燥,但很重要,希望能堅持多看看,對以後的開發有好處。當然還有很多深層次的內容沒有涉及到,在以後的學習中再和大家分享,寫作過程中的不當之處還請大家指出,大家相互學習,共同進步!
Android視圖架構