編輯:關於Android編程
AdapterView的子類的子類ListView、GridView、Spinner、Gallery、AdapterViewFlipper和StackView都是作為容器使用,Adapter負責提供各個列表項的內容。
1.列表視圖ListView和ListActivity:
以垂直列表的形式顯示列表項。
生成列表視圖有如下兩種方法:
(1).直接使用ListView
(2).讓Activity繼承ListActivity
ListView支持的XML屬性和相關方法:
Attribute Name
Related Method
Description
android:divider
設置List列表項的分隔條(顏色或Drawable)
android:dividerHeight
設置分隔條的高度
android:entries
指定一個數組資源,用於填充列表的內容
android:footerDividersEnabled
設置為false,不在footer View前繪制分隔條
android:headerDividersEnabled
設置為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: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()方法來顯示上一個、下一個列表項。
列表項切換時出現的是堆疊一起的卡片會出現的動畫效果。
目錄English READMEGradle備注Demo版本TodoLicense動畫用法基本動畫位移動畫縮放動畫漸現、漸逝動畫旋轉動畫文字大小動畫TextView Si
上一篇博客我們講到了ViewRoot中與UI相關的三個重要步驟:performMeasure(測量)、performLayout(布局)和performDraw(繪制),
目前世界有幾十億安卓手機在使用,而大量Android 5.0用戶稱自己設備的耗電速度過快。原版Lollipop當中的確存在Wi-Fi引發的耗電問題,但谷歌已
上一篇我們說到的逐幀動畫和補間動畫,這篇我們著重說下屬性動畫:先看下面兩幅動畫: 上面兩幅動畫就是通過屬性動畫做出來的,是不是比較炫呢!不僅有顯示,也有交互點擊事件。下面