【移動應用開發(fā)技術】ListView的屬性及方法詳解_第1頁
【移動應用開發(fā)技術】ListView的屬性及方法詳解_第2頁
【移動應用開發(fā)技術】ListView的屬性及方法詳解_第3頁
【移動應用開發(fā)技術】ListView的屬性及方法詳解_第4頁
【移動應用開發(fā)技術】ListView的屬性及方法詳解_第5頁
免費預覽已結(jié)束,剩余1頁可下載查看

付費下載

下載本文檔

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

文檔簡介

【移動應用開發(fā)技術】ListView的屬性及方法詳解

近期在重新學習Android控件知識,目前進行到ListView,感覺這是一塊尤其難啃的硬骨頭:最為常用、用法較復雜、涉及的其他Android知識也較多。因此決定系統(tǒng)地好好復習一遍ListView。一、ListView類的繼承關系可以看出,ListView并不直接繼承于View,而是直接繼承于抽象類AbsListView.ListView的直接子類有:ExpandableListView.二、ListView概述

ListView是一個用來縱向顯示條目的視圖,這些條目內(nèi)容來自于與該ListView相關聯(lián)的ListAdapter.三、嵌套類class

ListView.FixedViewInfo//用來在列表內(nèi)展現(xiàn)一個固定位置視圖,如在列表頂端的header和在列表底端的footer四、XML屬性

1.ListView的XML屬性android:divider//在列表條目之間顯示的drawable或color

android:dividerHeight//用來指定divider的高度

android:entries//構(gòu)成ListView的數(shù)組資源的引用。對于某些固定的資源,這個屬性提供了比在程序中添加資源更加簡便的方式

android:footerDividersEnabled//當設為false時,ListView將不會在各個footer之間繪制divider.默認為true。

android:headerDividersEnabled//當設為false時,ListView將不會在各個header之間繪制divider.默認為true。2.繼承自AbsListView的XML屬性android:cacheColorHint//

表明這個列表的背景始終以單一、固定的顏色繪制,可以優(yōu)化繪制過程。

android:choiceMode//為視圖指定選擇的行為。可選的類型有:none、singleChoice、multipleChoice、multipleChoiceModal。

android:drawSelectorOnTop//

若設為true,選擇器將繪制在選中條目的上層。默認為false。

android:fastScrollEnabled//

設置是否允許使用快速滾動滑塊。

android:listSelector//

設置選中項顯示的可繪制對象,可以是圖片或者顏色屬性。

android:scrollingCache//

設置在滾動時是否使用繪制緩存。若設為true,則將使?jié)L動表現(xiàn)更快速,但會占用更內(nèi)存。默認為true。

android:smoothScrollbar//

為真時,列表會使用更精確的基于條目在屏幕上的可見像素高度的計算方法。默認該屬性為真,如果你的適配器需要繪制可變高的條目,他應該設為假。當該屬

性為真時,你在適配器在顯示變高條目時,滾動條的把手會在滾動的過程中改變大小。當設為假時,列表只使用適配器中的條目數(shù)和屏幕上的可見條目來決定滾動條的屬性。

android:stackFromBottom//

設置GridView和ListView是否將內(nèi)容從底部開始顯示。

android:textFilterEnabled//

當設為真時,列表會將結(jié)果過濾為用戶類型。前提是這個列表的Adapter必須支持Filterable接口。

android:transcriptMode//設置列表的transcriptMode.有如下選項可選:

//(1)disabled

禁用TranscriptMode,也是默認值;

//(2)normal

當新條目添加進列表中并且已經(jīng)準備好顯示的時候,列表會自動滑動到底部以顯示最新條目;

//(3)alwaysScroll

列表會自動滑動到底部,無論新條目是否已經(jīng)準備好顯示.3.繼承自ViewGroup的XML屬性android:addStatesFromChildren//

設置這個ViewGroup的drawable狀態(tài)是否包括子View的狀態(tài)。若設為true,當子View如EditText或Button獲得焦點時,整個ViewGroup也會獲得焦點。

android:alwaysDrawnWithCache//

設置ViewGroup在繪制子View時是否一直使用繪圖緩存。默認為true。

android:animationCache//

設置布局在繪制動畫效果時是否為其子View創(chuàng)建繪圖緩存。若設為true,將會消耗更多的內(nèi)存,要求持續(xù)時間更久的初始化過程,但表現(xiàn)更好。默認為true。

android:clipChildren//

設置子View是否受限于在自己的邊界內(nèi)繪制。若設為false,當子View所占用的空間大于邊界時可以繪制在邊界外。默認為true。

android:clipToPadding//定義布局間是否有間距。默認為true。

android:descendantFocusability//

定義當尋找一個焦點View的時候,ViewGroup與其子View之間的關系??蛇x項為:

//(1)beforeDescendants

ViewGroup會比其子View更先獲得焦點;

//(2)afterDescendants

只有當無子View想要獲取焦點時,ViewGroup才會獲取焦點;

//(3)blockDescendants

ViewGroup會阻止子View獲取焦點

android:layoutAnimation//定義當ViewGroup第一次展開時的動畫效果,也可人為地在第一次展開后調(diào)用。

android:persistentDrawingCache//

定義繪圖緩存的持久性。有如下可選項:

//(1)none

當使用過后不保留繪圖緩存

//(2)animation

在layout

animation之后保留繪圖緩存

//(3)scrolling

在Scroll操作后保留繪圖緩存

//(4)all

always保留繪圖緩存4.繼承自View的XML屬性

太多了………………饒過我吧五、常用public方法

1.add/remove

方法void

addFooterView(View

v)//增加一個固定在列表底部的View,參數(shù)

v為欲添加的視圖

void

addFooterView(View

v,Object

data,boolean

isSelectable)//增加一個固定在列表底部的View,參數(shù)

v為欲添加的視圖,data為與View綁定的數(shù)據(jù),isSelectable設置是否可選

void

addHeaderView(View

v)//增加一個固定在列表頂部的View,參數(shù)

v為欲添加的視圖

void

addHeaderView(View

v,Object

data,boolean

isSelectable)//增加一個固定在列表頂部的View,參數(shù)

v為欲添加的視圖,data為與View綁定的數(shù)據(jù),isSelectable設置是否可選

boolean

removeFooterView(View

v)//去除一個之前添加的FooterView,參數(shù)v為欲刪除的視圖,若成功刪除則返回true

boolean

removeHeaderView(View

v)//去除一個之前添加的HeaderView,參數(shù)v為欲刪除的視圖,若成功刪除則返回true

2.響應事件方法boolean

OnKeyDown(int

keyCode,KeyEvent

event)//當按下鍵時響應

boolean

OnKeyMultiple(int

keyCode,int

repeatCount,KeyEvent

event)//重復按下鍵時響應,repeatCount為按下次數(shù)

boolean

OnKeyUp(int

keyCode,KeyEvent

event)//當鍵被釋放時響應3.get方法ListAdapter

getAdapter()//返回ListView正在使用的Adapter

Drawable

getDivider()//以Drawable形式返回divider

int

getDividerHeight()//這個……真不想解釋了

int

getFooterViewCount()//返回FooterView的個數(shù),若無返回0

int

getHeaderViewCount()//返回HeaderView的個數(shù),若無返回0

boolean

getItemsCanFocus()//返回是否有可獲得焦點的條目

int

getMaxScrollAmount()//The

maximum

amount

a

list

view

will

scroll

in

response

to

an

arrow

event.(求翻譯)

Drawable

getOverscrollFooter()//返回繪制在所有條目之下的drawable

Drawable

getOverscrollHeader()//返回繪制在所有條目之上的drawable

4.set方法void

setAdapter(ListAdapter

adapter)//為ListView綁定Adapter

void

setCacheColorHint(int

color)//參數(shù)為0時,將CacheColor設為透明;參數(shù)非零時,指定一種顏色作為ListView的背景

void

setDivider(Drawable

divider)//為ListView中每個條目之間設定一個Divider

void

setDividerHeight(int

height)//設定Divider的高度,單位為pixel

void

setFooterDividerEnabled(boolean

footDividerEnabled)//設置FooterView之間的Dividers是否可用

void

setHeaderDividerEnabled(boolean

headDividerEnabled)//設置HeaderView之間的Dividers是否可用

void

setItemsCanFocus(boolean

itemsCanFocus)//設置是否包含可獲取焦點的Item

void

setOverscrollFooter(Drawable

footer)//設置一個當滾動時或ListView未填滿屏幕時能顯示在ListView下方的Drawable

void

setOverscrollHeader(Drawable

header)//設置一個當滾動時能顯示在ListView上

溫馨提示

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

評論

0/150

提交評論