Android的UI系統是android應用系統框架最核心,最基礎的內容!html
1. Android視圖系統、層次關係前端
Android應用設計和Web應用設計相似,也分前端和後端設計。Android的核心要素和四大組件屬於後端設計部分,UI設計屬於前端設計。前端設計決定了用戶體驗的好壞,後端設計則決定了功能的完備和應用的安全、穩定。java
對Android的UI設計來講,用到的最重要的兩個類是:View和ViewGroup。它們決定着展現給用戶的外觀界面的形狀。下面介紹下Android視圖系統的層次關係:android
圖 1. 界面 (UI)後端
View 類是全部視圖控件 (包括 ViewGroup) 的基類。 各類 UI 控件都繼承 View類,經過實現不一樣的接口實現特定功能。關於繼承關係,多說一下,方便你們更清楚的理解控件,見下圖:
圖 2. 控件繼承關係 安全
圖 3 . 經常使用的UI 控件
app
2. Android 視圖框架 MVC 模型框架
Android 的 UI 框架也是採用的 MVC 進行組織的,它提供控制器處理用戶輸入,對模型作出相應操做,並將結果反饋到視圖,從新構建視圖、渲染到屏幕。ide
圖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)的做用,在 前一篇文章 中有介紹。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //將以前寫的佈局文件輸出到屏幕 setContentView(R.layout.demo); } }
4. 總結 以上是對 Android 視圖框架結構、原理及執行流程的簡單介紹,但願對新手有所幫助。介紹的原理比較多,比較枯燥,但很重要,但願能堅持多看看,對之後的開發有好處。固然還有不少深層次的內容沒有涉及到,在之後的學習中再和你們分享,寫做過程當中的不當之處還請你們指出,你們相互學習,共同進步!