Android學習 第八周
ListView
一、ListView的理解
1.什麽ListView?
一種用來顯示多個可滑動項(Item)列表的的ViewGroup
需要使用Adapter將集合數據和每一個Item所對應的布局動態適配到ListView中顯示
顯示列表: listView.setAdapter(adapter)
更新列表: adapter.notifyDataSetChanged()
二、實現ListView的三種常用方式
1、ArrayAdapter應用
ArrayAdapter(Context context,int resource,T[] objects)
context:上下文對象,一般為Activity對象
resourcce:Item的布局文件標識
objects:需要顯示的數據集合
三、listview作為一個列表控件,他和普通的列表一樣,可以自己設置表頭與表尾: 以及分割線,可供我們設置的屬性如下:
footerDividersEnabled:是否在footerView(表尾)前繪制一個分隔條,默認為true
headerDividersEnabled:是否在headerView(表頭)前繪制一個分隔條,默認為true
dividerHeight:設置分隔條的高度
翻遍了了API發現並沒有可以直接設置ListView表頭或者表尾的屬性,只能在Java中寫代碼 進行設置了,可供我們調用的方法如下:
addHeaderView(View v):添加headView(表頭),括號中的參數是一個View對象
addFooterView(View v):添加footerView(表尾),括號中的參數是一個View對象
addHeaderView(headView, null, false):和前面的區別:設置Header是否可以被選中
addFooterView(View,view,false):同上
GridView
GridView 和 ListView 有共同的父類:AbsListView,因此 GridView和ListView具有很高的相似性,它們都是列表項。GridView與ListView的唯一區別在於:ListView只顯示一列;而GridView可以顯示多列。從這個角度來看,ListView相當於一種特殊的GridView,如果讓 GridView只顯示一列,那麽該GridView就變成了 ListView。 與ListView類似的是,GridView也需要通過Adapter來提供顯示的數據:開發者可以采用上面介紹的幾種方式中的任意一種來創建Adapter。不管使用哪種方式,GridView與ListView 的用法是基本一致的。
下面是GridView中的一些屬性:
android:columnWidth:設置列的寬度
android:gravity:組件對其方式
android:horizontalSpacing:水平方向每個單元格的間距
android:verticalSpacing:垂直方向每個單元格的間距
android:numColumns:設置列數
android:stretchMode:設置拉伸模式,可選值如下: none:不拉伸;spacingWidth:拉伸元素間的間隔空隙 columnWidth:僅僅拉伸表格元素自身 spacingWidthUniform:既拉元素間距又拉伸他們之間的間隔空襲
Android學習 第八周