Android學習筆記(23):列表項的容器—AdapterView的子類們

AdapterView的子類的子類ListViewGridViewSpinnerGalleryAdapterViewFlipperStackView都是做爲容器使用,Adapter負責提供各個列表項的內容。android

 

 

1.列表視圖ListViewListActivity數組

以垂直列表的形式顯示列表項。ide

 

生成列表視圖有例如如下兩種方法:oop

(1).直接使用ListViewpost

(2).Activity繼承ListActivity動畫

ListView支持的XML屬性和相關方法:spa

Attribute Name對象

Related Method繼承

Descriptionip

android:divider

 

設置List列表項的分隔條(顏色或Drawable

android:dividerHeight

 

設置分隔條的高度

android:entries

 

指定一個數組資源,用於填充列表的內容

android:footerDividersEnabled

 

設置爲false。不在footer View前繪製分隔條

android:headerDividersEnabled

 

設置爲false,不在header View後繪製分隔條

 

2.可展開的列表視圖ExpandableListView

ExpandableListViewListView的子類,它把列表項分爲幾組,每組裏包括多個列表項。

與其它列表視圖不一樣的是:ExpandableListView的列表項應該由ExpandableListAdapter提供。

Adapter相似:ExpandableListAdapter也有三種常用方式:

(1).擴展BaseExpandableListAdapter實現ExpandableListAdapter

(2).使用SimpleExpandableListAdapter將兩個List集合包裝成ExpandableListAdapter

(3).使用SimpleCursorTreeAdapterCursor中的數據包裝成SimpleCursorTreeAdapter

 

ExpandableListView支持的XML屬性:

Attribute Name

Related Method

Description

android:childDivider

 

指定各組內子列表項之間的分隔條

android:childIndicator

 

顯示在子列表項旁邊的Drawable對象

android:groupIndicator

 

顯示在組列表項旁邊的Drawable對象

擴展BaseExpandableListAdapter實現ExpandableListAdapter的時候需要實現的4個方法:

getGroupCount():返回包括組列表項的數量

getGroupView():返回的View對象將做爲組列表項

getChildrenCount():返回特定組包括的子列表項的數量

getChildView():返回的View對象將做爲特定組、特定位置的子列表項

 

3.網格視圖GridView

按行、列分佈的方式顯示多個組件。

 

GridView支持的XML屬性和相關方法:

Attribute Name

Related Method

Description

android:columnWidth

setColumnWidth(int)

設置列的寬度

android:gravity

setGravity(int)

設置對齊方式

android:horizontalSpacing

setHorizontalSpacing(int)

設置各元素之間的水平間距

android:numColumns

setNumColumns(int)

設置列數

android:stretchMode

setStretchMode(int)

設置拉伸模式

android:verticalSpacing

setVerticalSpacing(int)

設置各元素之間的垂直間距

 

android:stretchMode:支持的屬性:

NO_STRETCH:不拉伸

STRETCH_COLUMN_WIDTH:僅拉伸表格元素自己

STRETCH_SPACING:僅拉伸元素之間的間距

STRETCH_SPACING_UNIFORM:表格元素自己、元素之間的間距一塊兒拉伸

 

4.列表選擇框Spinner:

 

用下拉列表的形式顯示列表項。

Spinner支持的XML屬性和相關方法:

Attribute Name

Related Method

Description

android:dropDownHorizontalOffset

setDropDownHorizontalOffset(int)

設置選擇框的水平偏移量

android:dropDownSelector

 

設定spinnerMode=」dropdown」時列表選擇器的顯示效果

android:dropDownVerticalOffset

setDropDownVerticalOffset(int)

設置選擇框的垂直偏移量

android:dropDownWidth

setDropDownWidth(int)

設置選擇框的寬度

android:gravity

setGravity(int)

設置對齊方式

android:popupBackground

setPopupBackgroundResource(int)

設置選擇框的背景色

android:prompt

 

設置選擇框的提示信息

android:spinnerMode

 

設置Spinner的顯示模式

 

spinnerMode可選的屬性:

dialog = 0:Spinner會被做爲一個對口窗體來顯示

dropdown = 1:Spinner會做爲一個內嵌的下拉列表來顯示

 

5.Gallery

顯示一個水平的列表選擇框。贊成用戶經過拖動來查看上一個、下一個。

Android推薦使用HorizontalScrollView和ViewPager組件來取代Gallery。

 

6.AdapterViewFlipper

繼承自AdapterViewAnimator,AdapterViewFlipper每次僅僅能顯示Adapter中的一個列表項。程序經過showPrevious()和showNext()方法來顯示上一個、下一個列表項。組件切換時可以本身主動動畫效果。

還有startFlipper()方法用於本身主動播放下一個列表項。

AdapterViewAnimator支持的XML屬性和相關方法:

Attribute Name

Related Method

Description

android:animateFirstView

 

設置顯示第一個列表項時是否使用動畫

android:inAnimation

 

設置組件顯示時使用的動畫

android:loopViews

 

設置循環到底是否轉頭到第一個列表項

android:outAnimation

 

設置組件隱藏時使用的動畫

 

AdapterViewFlipper支持的XML屬性和相關方法:

Attribute Name

Related Method

Description

android:autoStart

startFlipping()

設置該組件是否本身主動播放

android:flipInterval

setFlipInterval(int)

設置本身主動播放的時間間隔

 

7.StackView

繼承自AdapterViewAnimator,StackView把列表項「堆疊」在一塊兒,以這樣的方式顯示列表項。程序經過showPrevious()和showNext()方法來顯示上一個、下一個列表項。

列表項切換時出現的是堆疊一塊兒的卡片會出現的動畫效果。

相關文章
相關標籤/搜索