android-ui控件與源碼androidui界面開發(fā)_第1頁
android-ui控件與源碼androidui界面開發(fā)_第2頁
android-ui控件與源碼androidui界面開發(fā)_第3頁
android-ui控件與源碼androidui界面開發(fā)_第4頁
android-ui控件與源碼androidui界面開發(fā)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Android常用UI控件郵箱: 主講人:老羅TextView主要是在android中實(shí)現(xiàn)文字說明等功能。主要實(shí)現(xiàn)功能如下:1、顯示豐富的文本(URL、字體大小、顏色等)在TextView中預(yù)定了一些類似HTML的標(biāo)簽,通過標(biāo)簽可以使TextView控件顯得不懂顏色、大小、字體的文字。:設(shè)置顏色和字體:設(shè)置大小號:設(shè)置小號:斜體、粗體:鏈接地址:插入圖片TextView顯示文本控件使用這些標(biāo)簽可以用Html.fromHtml方法將這些標(biāo)簽的字符串轉(zhuǎn)換成Charsequenece對象,然后在TextView中進(jìn)行設(shè)置。如果想在顯示的文本中將URL地址、郵箱地址、電話產(chǎn)生超鏈接的效果可以使用and

2、roid:autoLink來設(shè)置。該屬性如下:TextView顯示文本控件TextView顯示文本控件屬性值描述None不匹配任何鏈接(默認(rèn))web網(wǎng)址email郵箱phone電話號碼map匹配映射網(wǎng)址all匹配所有鏈接實(shí)戰(zhàn)案例一:如何顯示文本(URL、不同大小、字體、顏色的文本)實(shí)戰(zhàn)案例二:在TextView中顯示表情圖像和文本實(shí)戰(zhàn)案例三:單擊鏈接彈出Activity實(shí)戰(zhàn)案例四:用TextView實(shí)現(xiàn)跑馬燈效果TextView顯示文本控件EditText是除了TextView控件之外的屬性,還可以實(shí)現(xiàn)輸入文本內(nèi)容。實(shí)戰(zhàn)案例一像QQ一樣輸入表情圖像實(shí)戰(zhàn)案例二在EditText中輸入特定的字符,

3、實(shí)現(xiàn)校驗功能。EditText編輯文本控件如果我們想實(shí)現(xiàn)用戶輸入的內(nèi)容有自動提示的功能,類似百度的搜索結(jié)果, pleteTextView可以實(shí)現(xiàn)。實(shí)戰(zhàn)案例一:實(shí)現(xiàn)城市名稱的模糊查詢 pleteTextView自動完成輸入內(nèi)容的控件Button控件的基本用法和TextView、EditText相似,最常用的是按鈕單擊事件。實(shí)戰(zhàn)案例一:按鈕的焦點(diǎn)變化實(shí)戰(zhàn)案例二:圖文混排的按鈕Button普通按鈕控件選項按鈕可以用于多選一的應(yīng)用中,如果想在選中的某一個選項按鈕后,其它的選項按鈕都被設(shè)置為未選中的狀態(tài),需要將添加到標(biāo)簽中實(shí)戰(zhàn)案例一:單選按鈕的使用RadioButton選項按鈕控件ToggleButto

4、n控件和Button控件的功能基本相同,ToggleButton控件提供了可以表示“開/關(guān)”狀態(tài)的功能。實(shí)戰(zhàn)案例一:ToggleButton按鈕的使用ToggleButton開關(guān)狀態(tài)按鈕控件CheckBox默認(rèn)的情況下是未選中的狀態(tài),如果想修改這個默認(rèn)值的話,可以將中的android:checked設(shè)置為true或者使用CheckBox.setChecked方法設(shè)置都可以實(shí)現(xiàn)復(fù)選的功能。實(shí)戰(zhàn)案例一:復(fù)選框控件使用CheckBox復(fù)選框控件SeekBar控件可以通過拖動滑竿改變當(dāng)前的值,可以利用SeekBar來設(shè)置具有一定范圍的變量的值。實(shí)戰(zhàn)案例一:SeekBar控件使用SeekBar拖動條控件

5、ImageView主要是用來顯示圖片的控件,可以對圖片進(jìn)行放大、縮小和旋轉(zhuǎn)的功能。android:scaleType屬性指定ImageView控件顯示圖片的方式,例如:center表示圖像以不縮放的方式顯示在ImageView控件的中心,如果設(shè)置為fitCenter,表示圖像按照比例縮放至合適的位置,并在ImageView控件的中心 實(shí)戰(zhàn)案例一:ImageView控件的基本用法ImageView顯示圖像控件在實(shí)際應(yīng)用開發(fā)中,我們可以將一個圖像文件,指定顯示按照屏幕的大小進(jìn)行顯示,或者對指定的圖像文件進(jìn)行裁剪的功能。實(shí)戰(zhàn)案例一:ImageView實(shí)現(xiàn)圖片裁剪和顯示的功能ImageView顯示圖像

6、控件在開發(fā)中實(shí)現(xiàn)對圖像的縮放有很多方法,最簡單的方法是改變ImageView控件的大小,我們只要將標(biāo)簽的android:scaleType的屬性值設(shè)置為fitCenter,要是想實(shí)現(xiàn)圖像的旋轉(zhuǎn)可以使用android.graphics.Matirx類的setRotate來實(shí)現(xiàn)。實(shí)戰(zhàn)案例一:ImageView實(shí)現(xiàn)圖片旋轉(zhuǎn)功能ImageView顯示圖像控件在實(shí)際開發(fā)中我們可能會從網(wǎng)絡(luò)上獲取一張圖像顯示在我們的手機(jī)上,這樣我們可以使用HTTP協(xié)議進(jìn)行操作。實(shí)戰(zhàn)案例一:從網(wǎng)絡(luò)上獲取ImageView圖像顯示在本地ImageView顯示圖像控件DatePicker(輸入日期的控件) DatePicker控

7、件可用于輸入日期,日期的范圍是1900-1-1到2100-12-31。 實(shí)戰(zhàn)案例一:DatePicker輸入日期控件的使用DatePicker時間與日期控件TimerPicker輸入時間控件用來輸入小時和分鐘。 TimerPicker默認(rèn)的情況下是12小時進(jìn)制,也可以設(shè)置24小時顯示。實(shí)戰(zhàn)案例一:TimerPicker時間控件的使用TimerPicker時間與日期控件AnalogClock和DigitalClock(顯示時鐘的控件)實(shí)戰(zhàn)案例一:顯示時鐘控件的使用AnalogClock和DigitalClock時間和日期控件ProgressBar提供了可以向用戶展示當(dāng)前任務(wù)的進(jìn)度。實(shí)戰(zhàn)案例一:各

8、種ProgressBar進(jìn)度條的使用進(jìn)度條ProgressBar控件RatingBar主要用在電子相冊、網(wǎng)上書店和對文章進(jìn)行評分的功能。實(shí)戰(zhàn)案例一:RatingBar評分控件的使用RatingBar評分控件ScrollView控件只是支持垂直滾動,而且在ScrollView中只能包含一個控件,通常是在標(biāo)簽中定義了一個標(biāo)簽并且在標(biāo)簽中android:orientation屬性值設(shè)置為vertical,然后在標(biāo)簽中放置多個控件,如果標(biāo)簽中的控件所占用的總高度超出屏幕的高度,就會在屏幕的右側(cè)出現(xiàn)一個滾動條。實(shí)戰(zhàn)案例之一ScrollView垂直滾動控件的使用ScrollView垂直滾動控件的使用Hor

9、izontalScrollView控件只是支持水平滾動,而且它只能包含一個控件,通常是在標(biāo)簽中定義了一個標(biāo)簽并且在標(biāo)簽中android:orientation屬性值設(shè)置為horizontal,然后在標(biāo)簽中放置多個控件,如果標(biāo)簽中的控件所占用的總寬度超出屏幕的寬度,就會出現(xiàn)滾動效果實(shí)戰(zhàn)案例之一HorizontalScrollView水平滾動控件的使用HorizontalScrollView水平滾動控件Gallery控件一般是用于顯示圖像列表,因此也稱為是畫廊控件, Gallery只能水平顯示一行,而且支持水平滑動效果。也就是說,單擊、選中或者拖動Gallery中的圖像, Gallery圖像中的列

10、表會根據(jù)不同的情況向左向右移動,直到顯示到最后的一個圖像為止。實(shí)戰(zhàn)案例之一Gallery畫廊控件Gallery畫廊控件PopupWindow 可以創(chuàng)建類似對話框風(fēng)格的窗口,使用PopupWindow創(chuàng)建對話框風(fēng)格的窗口只要實(shí)現(xiàn)兩個步驟即可:1、調(diào)用PopupWindow的構(gòu)造器創(chuàng)建PopupWindow對象2、調(diào)用PopupWindow的showAsDropDown(View view)方法將PopupWindow作為view的組件的下拉組件顯示出來,或者調(diào)用PopupWindow的showAtLocation方法將PopupWindow在指定的位置顯示出來。實(shí)戰(zhàn)案例一:使用PopupWind

11、ow實(shí)現(xiàn)對話框的提示使用PopupWindowImageSwitcher控件可以用在不同的圖像之間切換,其中切換的過程可以采用動畫的方法,如淡入淡出的效果。ImageSwitcher需要一個圖像工廠(ViewFactory)來創(chuàng)建用于顯示圖像的ImageView對象,因此我們需要一個實(shí)現(xiàn)android.widget.ViewSwitcher.ViewFactory接口的類。實(shí)戰(zhàn)案例之一ImageSwitcher圖像切換控件淡入淡出效果ImageSwitcher圖片切換控件GridView控件用于顯示一個網(wǎng)格圖像, GridView主要是用在一些相冊的布局顯示圖片。GridView采用的是二維表

12、的方式顯示單元格,就需要設(shè)置二維表的行和列。設(shè)置GridView的列可以使用標(biāo)簽的columnWidth屬性。也可以使用GridView類的setColumnWidth方法來設(shè)置列數(shù),GridView中的單元格會根據(jù)列數(shù)自動拆行顯示,因此不需要設(shè)置GridView的行數(shù),但是需要設(shè)置android:numColumns屬性。否則GridView只會顯示一行。實(shí)戰(zhàn)案例之一GridView網(wǎng)格控件顯示相冊GridView網(wǎng)格控件Spinner控件用于顯示一個下拉列表,該控件在裝載數(shù)據(jù)的時候需要創(chuàng)建一個Adapter適配器對象。并在創(chuàng)建Adapter對象過程中指定要裝載的數(shù)據(jù)是數(shù)組或者是List對象

13、的數(shù)據(jù)實(shí)戰(zhàn)案例之一Spinner下拉列表控件Spinner下拉列表控件如果在屏幕上要放置很多的控件,可能一個屏放不下,除了使用滾動視圖的方式外,還可以使用標(biāo)簽控件對屏幕進(jìn)行分頁顯示,當(dāng)單擊標(biāo)簽控件的不同標(biāo)簽時,會顯示當(dāng)前標(biāo)簽的內(nèi)容,在android系統(tǒng)中一個標(biāo)簽可以是一個View或者是ActivityTabHost是標(biāo)簽控件的核心類,也是一個標(biāo)簽的集合,每一個標(biāo)簽是TabHost.TabSpec對象。通過TabHost類的addTab的方法添加多個TabHost.TabSpec對象。實(shí)戰(zhàn)案例之一TabHost標(biāo)簽控件顯示分頁實(shí)戰(zhàn)案例之 二TabHost標(biāo)簽控件顯示底端菜單TabHost標(biāo)簽控件

14、之前我們介紹過標(biāo)簽,該標(biāo)簽可以再布局文件中引用另外一個布局文件,這種方式是在布局文件中固定導(dǎo)入,使用起來不是很方便。ViewtSub的功能和的功能類似,也是實(shí)現(xiàn)引用另外一個布局。但是唯一不同的是ViewStub并不會馬上裝載引用布局文件,只有在調(diào)用了ViewStub.inflate或ViewStub.setVisibility(View.VISIBILE)方法ViewStub才會裝載引用的控件。實(shí)戰(zhàn)案例之一ViewStub惰性裝載控件實(shí)戰(zhàn)案例之二動態(tài)加載布局ViewStub惰性裝載控件Android的左右滑動在實(shí)際編程經(jīng)常能用到,比如查看多張圖片,左右切換tab頁。自Android 3.0之后

15、的SDK中提供了android-support-v4包用以實(shí)現(xiàn)版本兼容,讓老版本系統(tǒng)下的應(yīng)用通過加入jar包實(shí)現(xiàn)擴(kuò)展,其中有一個可以實(shí)現(xiàn)左右滑動的類ViewPager。實(shí)戰(zhàn)案例之一ViewPager實(shí)現(xiàn)左右滑動特效一實(shí)戰(zhàn)案例之二ViewPager實(shí)現(xiàn)左右滑動特效二實(shí)戰(zhàn)案例之三ViewPager實(shí)現(xiàn)左右滑動特效三ViewPager多頁面滑動效果Android中的列表控件飛創(chuàng)靈活,可以自定義每一個列表項,實(shí)際上每一個列表項就是一個View,在Android定義了3個列表控件:ListView、ExpandableListView和Spinner,其中Spinner就是在Windows中常見的下拉列

16、表框。ListView控件用于列表的形式顯示數(shù)據(jù), ListView控件采用MVC模式將前端顯示和后端數(shù)據(jù)進(jìn)行分離。也就是說, ListView控件在裝載數(shù)據(jù)時并不是直接使用ListView.add或者類似的方法添加數(shù)據(jù),而是需要指定一個Adapter對象。該對象相當(dāng)于MVC模式中的C(控制器,Controller)。ListView相當(dāng)于MVC模式中的V(視圖,View),用于顯示數(shù)據(jù)。為ListView提供數(shù)據(jù)的List或數(shù)組相當(dāng)于MVC模式中的M(模型,Model)在ListView控件中通過Adapter對象獲得需要顯示的數(shù)據(jù),在創(chuàng)建Adapter對象時需要指定要顯示的數(shù)據(jù)(List或

17、數(shù)組對象),因此,要顯示的數(shù)據(jù)與ListView之間通過Adapter對象進(jìn)行連接,同時又互相獨(dú)立,也就是說,ListView只知道顯示的數(shù)據(jù)來自Adapter,并不知道這些數(shù)據(jù)來自List還是數(shù)組。ListView列表控件對于數(shù)據(jù)本身來說,只是知道將這些數(shù)據(jù)添加到Adapter對象中,并不知道這些數(shù)據(jù)會被用于ListView控件或其他控。如圖所示:ListView列表控件CourseArrayListData sourceAdapterListViewMVC好處:MVC把應(yīng)用程序的邏輯層與界面是完全分開的,最大的好處是:界面設(shè)計人員可以直接參與到界面開發(fā),程序員就可以把精力放在邏輯層上。而不

18、是像以前那樣,設(shè)計人員把所有的材料交給開發(fā)人員,由開發(fā)人員來實(shí)現(xiàn)界面。在Eclipes工具中開發(fā)Android采用了更加簡單的方法,設(shè)計人員在AnroidDraw中設(shè)計界面,以XML方式保存,在Eclipes中直接打開就可以看到設(shè)計人員設(shè)計的界面。邏輯處理的代碼則放在src文件夾下。讓程序員更專注與業(yè)務(wù)。1) 視圖層(View):一般采用XML文件進(jìn)行界面的描述,使用的時候可以非常方便的引入。同時便于后期界面的修改。邏輯中與界面對應(yīng)的id不變化則代碼不用修改,大大增強(qiáng)了代碼的可維護(hù)性。ListView列表控件2) 控制層(Controller):Android的控制層的重任通常落在了眾多的Acitvity的肩上,這句話也就暗含了不要在Acitivity中寫代碼,要通過Activity交割Model業(yè)務(wù)邏輯層處理,這樣做的另外一個原因是Android中的Acitivity的響應(yīng)時間是5s,如果耗時的操作放在這里,程序就很容易被回收掉。3) 模型層(Model):對數(shù)據(jù)庫的操作、對網(wǎng)絡(luò)等的操作都應(yīng)該在Model里面處理,當(dāng)然對業(yè)務(wù)計算等操作也是必須放在的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論