小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Android應(yīng)用程序----UI界面控件(ListView,TabHost,Tab標(biāo)簽頁(yè)的使用 ) )

 松林園 2021-05-02

ListView 

ListView是一種用于垂直顯示的列表控件,如果顯示內(nèi)容過(guò)多,則會(huì)出現(xiàn)垂直滾動(dòng)條 

ListView能夠通過(guò)適配器將數(shù)據(jù)和自身綁定,在有限的屏幕上提供大量?jī)?nèi)容供用戶選擇,所以是經(jīng)常使用的用戶界面控件 

ListView支持點(diǎn)擊事件處理,用戶可以用少量的代碼實(shí)現(xiàn)復(fù)雜的選擇功能


建立一個(gè)“ListViewDemo”程序,包含四個(gè)控件,從上至下分別為TextView01、ListView01 ListView02 ListView03


ListViewDemoXML文件中的代碼


ListViewDemo.java文件中,首先需要為ListView創(chuàng)建適配器,并添加ListView中所顯示的內(nèi)容


2行代碼通過(guò)ID引用了XML文件中聲明的ListView 

7行代碼聲明了適配器ArrayAdapter,第三個(gè)參數(shù)list說(shuō)明適配器的數(shù)據(jù)源為數(shù)組列表

8行代碼將ListView和適配器綁定


ListViewDemo.java文件中,首先需要為ListView創(chuàng)建適配器,并添加ListView中所顯示的內(nèi)容


2行代碼通過(guò)ID引用了XML文件中聲明的ListView 

7行代碼聲明了適配器ArrayAdapter,第三個(gè)參數(shù)list說(shuō)明適配器的數(shù)據(jù)源為數(shù)組列表 

8行代碼將ListView和適配器綁定


下面的代碼聲明了ListView子項(xiàng)的點(diǎn)擊事件監(jiān)聽器,用以確定用戶在ListView中,選擇的是哪一個(gè)子項(xiàng)


1行的AdapterView.OnItemClickListenerListView子項(xiàng)的點(diǎn)擊事件監(jiān)聽器,同樣是一個(gè)接口,需要實(shí)現(xiàn)onItemClick()函數(shù)。在ListView子項(xiàng)被選擇后,onItemClick()函數(shù)將被調(diào)用 

3行的onItemClick()函數(shù)中一共有四個(gè)參數(shù),參數(shù)0表示適配器控件,就是ListView;參數(shù)1表示適配器內(nèi)部的控件,是ListView中的子項(xiàng);參數(shù)2表示適配器內(nèi)部的控件,也就是子項(xiàng)的位置;參數(shù)3表示子項(xiàng)的行號(hào) 

4行和第5行代碼用于顯示信息,選擇子項(xiàng)確定后,在TextView中顯示子項(xiàng)父控件的信息、子控件信息、位置信息和ID信息 

7行代碼是ListView指定剛剛聲明的監(jiān)聽器


TabHost 

Tab標(biāo)簽頁(yè)是界面設(shè)計(jì)時(shí)經(jīng)常使用的界面控件,可以實(shí)現(xiàn)多個(gè)分頁(yè)之間的快速切換,每個(gè)分頁(yè)可以顯示不同的內(nèi)容 

下圖是Android系統(tǒng)內(nèi)置的Tab標(biāo)簽頁(yè),點(diǎn)擊“呼出/接聽鍵”后出現(xiàn),用于電話呼出和查看撥號(hào)記錄、聯(lián)系人


Tab標(biāo)簽頁(yè)的使用 

首先要設(shè)計(jì)所有的分頁(yè)的界面布局 

在分頁(yè)設(shè)計(jì)完成后,使用代碼建立Tab標(biāo)簽頁(yè),并給每個(gè)分頁(yè)添加標(biāo)識(shí)和標(biāo)題 

最后確定每個(gè)分頁(yè)所顯示的界面布局 

每個(gè)分頁(yè)建立一個(gè)XML文件,用以編輯和保存分頁(yè)的界面布局,使用的方法與設(shè)計(jì)普通用戶界面沒(méi)有什么區(qū)別


tab1.xml文件代碼

qtab2.xml文件代碼

qtab3.xml文件代碼

TabDemo.java文件中鍵入下面的代碼,創(chuàng)建Tab標(biāo)簽頁(yè),并建立子頁(yè)與界面布局直接的關(guān)聯(lián)關(guān)系


8行代碼的聲明TabDemo類繼承與TabActivity,與以往繼承Activity不同,TabActivity支持內(nèi)嵌多個(gè)ActivityView 

12行代碼通過(guò)getTabHost()函數(shù)獲得了Tab標(biāo)簽頁(yè)的容器,用以承載可以點(diǎn)擊的Tab標(biāo)簽和分頁(yè)的界面布局。 

13行代碼通過(guò)LayoutInflatertab1.xml文件中的布局轉(zhuǎn)換為Tab標(biāo)簽頁(yè)可以使用的View對(duì)象 

16行代碼使用addTab()函數(shù)添加了第1個(gè)分頁(yè),tabHost.newTabSpec("TAB1")表明在第12行代碼中建立的tabHost上,添加一個(gè)標(biāo)識(shí)為TAB1Tab分頁(yè) 

17行代碼使用setIndicator()函數(shù)設(shè)定分頁(yè)顯示的標(biāo)題,使用setContent()函數(shù)設(shè)定分頁(yè)所關(guān)聯(lián)的界面布局


TabDemo示例的運(yùn)行結(jié)果如圖


在使用Tab標(biāo)簽頁(yè)時(shí),可以將不同分頁(yè)的界面布局保存在不同的XML文件中,也可以將所有分頁(yè)的布局保存在同一個(gè)XML文件中 

一種方法有利于在Eclipse開發(fā)環(huán)境中進(jìn)行可視化設(shè)計(jì),并且不同分頁(yè)的界面布局在不同的文件中更加易于管理 

第二種方法則可以產(chǎn)生較少的XML文件,同時(shí)編碼時(shí)的代碼也會(huì)更加簡(jiǎn)潔

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多