AdapterView的子類的子類ListView、GridView、Spinner、Gallery、AdapterViewFlipper和StackView都是做爲容器使用,Adapter負責提供各個列表項的內容。android
1.列表視圖ListView和ListActivity:數組
以垂直列表的形式顯示列表項。ide
生成列表視圖有例如如下兩種方法:oop
(1).直接使用ListViewpost
(2).讓Activity繼承ListActivity動畫
ListView支持的XML屬性和相關方法:spa
Attribute Name對象 |
Related Method繼承 |
Descriptionip |
|
設置List列表項的分隔條(顏色或Drawable) |
|
|
設置分隔條的高度 |
|
|
指定一個數組資源,用於填充列表的內容 |
|
|
設置爲false。不在footer View前繪製分隔條 |
|
|
設置爲false,不在header View後繪製分隔條 |
2.可展開的列表視圖ExpandableListView
ExpandableListView是ListView的子類,它把列表項分爲幾組,每組裏包括多個列表項。
與其它列表視圖不一樣的是:ExpandableListView的列表項應該由ExpandableListAdapter提供。
與Adapter相似:ExpandableListAdapter也有三種常用方式:
(1).擴展BaseExpandableListAdapter實現ExpandableListAdapter。
(2).使用SimpleExpandableListAdapter將兩個List集合包裝成ExpandableListAdapter。
(3).使用SimpleCursorTreeAdapter將Cursor中的數據包裝成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:stretchMode:支持的屬性:
NO_STRETCH:不拉伸
STRETCH_COLUMN_WIDTH:僅拉伸表格元素自己
STRETCH_SPACING:僅拉伸元素之間的間距
STRETCH_SPACING_UNIFORM:表格元素自己、元素之間的間距一塊兒拉伸
4.列表選擇框Spinner:
用下拉列表的形式顯示列表項。
Spinner支持的XML屬性和相關方法:
Attribute Name |
Related Method |
Description |
設置選擇框的水平偏移量 |
||
|
設定spinnerMode=」dropdown」時列表選擇器的顯示效果 |
|
設置選擇框的垂直偏移量 |
||
設置選擇框的寬度 |
||
設置對齊方式 |
||
設置選擇框的背景色 |
||
|
設置選擇框的提示信息 |
|
|
設置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 |
|
設置顯示第一個列表項時是否使用動畫 |
|
|
設置組件顯示時使用的動畫 |
|
|
設置循環到底是否轉頭到第一個列表項 |
|
|
設置組件隱藏時使用的動畫 |
AdapterViewFlipper支持的XML屬性和相關方法:
Attribute Name |
Related Method |
Description |
startFlipping() |
設置該組件是否本身主動播放 |
|
設置本身主動播放的時間間隔 |
7.StackView
繼承自AdapterViewAnimator,StackView把列表項「堆疊」在一塊兒,以這樣的方式顯示列表項。程序經過showPrevious()和showNext()方法來顯示上一個、下一個列表項。
列表項切換時出現的是堆疊一塊兒的卡片會出現的動畫效果。