Android UI基礎(chǔ)控件介紹 可能有人認為UI控件就是拖拖控件、設(shè)置一些屬性、把空間拼裝起來而已,并沒有什么很高的技術(shù)含量。但實際上并不是如此簡單,特別是安卓手機客戶端開發(fā)里面的一些復(fù)雜界面、帶有動畫的以及一些其他的不規(guī)則的特效,這些UI控件真的是只有想不到,沒有做不到。 學(xué)習(xí)對象 1.有初步j(luò)ava語言基礎(chǔ); 2.對移動應(yīng)用開發(fā)感興趣的技術(shù)人員。 學(xué)習(xí)后掌握的技能目標 1.掌握Android基礎(chǔ)UI控件; 2.掌握Android五大布局的用法; 3.掌握listViewer、BaseAdapter等容器控件的用法; 4.掌握webView的用法,及Android與js交互的方法; 5.掌握主題、樣式、popup及window的用法; 6.掌握自定義view和viewGroup的用法。 UI控件在Android的開發(fā)中所占的比率比較大,同時它的知識點相對比較零散,但是只要抓住了規(guī)律,跟隨課程學(xué)習(xí)下來,就會發(fā)現(xiàn)并沒有想象中那么困難。 思考 這個界面包含哪些元素? 1)從宏觀的角度來講,我們很容易找到一些通用的元素,如標題上所顯示的小米賬號登陸,以及賬號和密碼,這三個地方都是直接顯示了一段文本。 2)賬號和密碼的右邊,需要放置一個輸入框,接受用戶輸入的賬號和密碼。 3)下面的登陸按鈕和右上角的注冊按鈕,當用戶點擊這兩個按鈕時,會觸發(fā)一些操作。 4)左上角向左的圖標,當用戶點擊這個圖標時,可能需要返回到上層界面。 這些元素有哪些相同點? 1)從這個界面上我們可以看出來,向左的圖標以及小米賬號登陸文本以及右邊的注冊按鈕,這三個地方的內(nèi)容顯示都是在標題欄里面,下面的賬號密碼以及賬號和密碼的輸入框,這一塊內(nèi)容又是在一個整體的頁面。我們可以將整個頁面分成3塊,這就是位置分區(qū)。 2)可以通過文本的字體顏色進行劃分,如小米賬號登陸顯示的6個字是白色的,下面的賬號和密碼的文本顏色是灰色的,以及右面的輸入框里面的字體是淺灰色的,同時,標題欄有一個背景是藍色的,登陸按鈕的背景是白色的,同時可以觀察到一些字體的大小,如小米賬號登陸和右邊的注冊兩個字,它的字體的大小明顯是不一樣的,注冊兩個字明顯小一些,以及下面的忘記密碼,可以看到下面有一個下劃線。從這些界面元素所呈現(xiàn)的內(nèi)容上面,我們可以觀察到這些界面元素有一些相同點,也有一些不同點。即這些界面元素可以有各自的屬性,如字體大小、字體顏色、是否有下劃線以及字體的背景等等。這種類型的相同點可以歸類為元素的屬性。 從上面的例子我們可以看出,如果你想讓安卓的設(shè)備顯示出這樣的一個界面,實際上開發(fā)者最關(guān)心的是這些界面元素的位置如何分區(qū)、分塊,以及這些界面元素的基本屬性如何設(shè)置,如開發(fā)者如何設(shè)置字體的大小、字體的顏色,以及文本所顯示的內(nèi)容,這些才是開發(fā)者最需要關(guān)心的。 視圖組建View 所謂的視圖組建都是從view類繼承過來的,如上圖所看見的文本框、輸入框,這些基本的界面元素,都是從此類繼承。 View類 是Android所有UI組件的父類,它代表了屏幕上一塊空白的矩形區(qū)域。至于這塊空白的區(qū)域內(nèi)應(yīng)該顯示什么內(nèi)容,這個工作就交給具體的界面元素來處理。如文本框應(yīng)該顯示什么樣的內(nèi)容,按鈕、輸入框、圖標等這些具體的界面元素就會實現(xiàn)安卓的方法。 ViewGroup類 作為其它UI組件的容器使用,ViewGroup是View的子類。最主要的是幫助我們對這些界面元素進行位置分區(qū),需要注意的是,此類同樣有寬和高以及在屏幕上所顯示的位置,只是此類的方法只是循環(huán)調(diào)用容器里面所有的UI控件的安卓方法,將容器里面的所有安卓控件逐一繪制出來。 下面通過一個界面草圖來理解View類和ViewGroup類的關(guān)系,這個長方形的方框是一個手機屏幕,在這個手機屏幕里面,首先顯示的是一個ViewGroup,也就是藍色的ViewGroup,在這個藍色的ViewGroup里面又有兩個棕色的ViewGroup,在兩個ViewGroup里面都包含了一個文本View和按鈕View。也就是當我們從手機上看到一款應(yīng)用時,它的分層是類似于這種結(jié)構(gòu),這是一種視覺上的層次關(guān)系。 在邏輯上,我們可以這樣來理解它,首先有一個安卓的設(shè)備,在設(shè)備屏幕上面,顯示了一個 ViewGroup,這個ViewGroup比較大,可能會充滿屏幕,在這么大的ViewGroup里面,顯示了兩個稍微小一點的ViewGroup,在上半部分的ViewGroup里面,又顯示了一個文本框和一個按鈕,在下半部分的ViewGroup里面,也可以顯示一些基本的界面元素,如文本框、按鈕、輸入框、圖標等等。實際上安卓的系統(tǒng)也是經(jīng)歷過這樣的邏輯層次關(guān)系,計算顯示屏幕鎖需要的內(nèi)容。 應(yīng)用界面的組成:Android 的所有UI組件都是建立在View、ViewGroup的基礎(chǔ)之上。對于一個Android應(yīng)用的圖形用戶界面來說,ViewGroup作為容器來盛裝其他組件,ViewGroup里除了可以包含普通View組件之外,還可以再次包含ViewGroup組件。 控制UI控件行為的方式 1.在xml布局文件中通過xml屬性進行控制; 2.在Java程序代碼中通過調(diào)用set等方法控制。 實際上不管使用哪種方式,它們控制用戶界面行為的本質(zhì)是完全一樣的,大部分時候,控制UI組件的XML屬性還有對應(yīng)的方法。View類是所有UI組件的基類,因經(jīng)它包含的XML屬性和方法是所有組件都可使用的。下面看一下View類所包含的通用的xml屬性和方法。 |
|