ExpandableListVivew是ListView的子類,它在普通ListView的基礎上進行了擴展,它把應用中的列表項分為幾組,每組里 又可包含多個列表項。ExpandableListVivew的用法與普通ListView的用法非常相似,只是ExpandableListVivew 顯示的列表項應該由ExpandableAdapter提供。
下圖為ExpandableListVivew支持的xml屬性
XML Attributes |
|||||||||||
屬性名 |
Related Method |
描述 |
|||||||||
指定各組內子類表項之間的分隔條 ① |
|||||||||||
顯示在子列表旁邊的Drawable對象② |
|||||||||||
子列表項指示符的左邊約束位置③ |
|||||||||||
子列表項指示符的右邊約束位置④ |
|||||||||||
顯示在組列表旁邊的Drawable對象⑤ |
|||||||||||
組列表項指示器的左邊約束位置⑥ |
|||||||||||
組列表項指示器的右邊約束位置 ⑦ |
備注:
① 注:圖片不會完全顯示,分離子列表項的是一條直線
② 注:可以是一個圖片
③ 注:即從左端0位置開始計數,比如,假設指示符是一個圖標,給定這個屬性值為
3dip,則表示從左端起3dip開始顯示此圖標。
④ 注:表示右端到什么位置結束
⑤ 注:可以是一個圖片。
⑥ 注:表示左端從什么位置開始。
⑦ 注:表示右端到什么位置結束。
1)定義xml文件先,命名為expand_list_indicator.xml
1
2
3
4
5
6
7
|
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bd_wallet_arrow_down" android:state_expanded="true"/>
<item android:drawable="@drawable/bd_wallet_arrow_right" android:state_expanded="false"/>
</selector>
|
注意事項:因為indicator背景圖片會自動拉伸,如果不想圖片被拉伸的話,那么就對indicator_open ,indicator_close圖片做特殊處理,做成.9.png格式就可以了。或者使用另外一個方法
android:groupIndicator=”@null”這里非常重要,禁用系統自帶的圖標
再在group的xml中設置ImageView,這個簡單,然后在適配器的getGroupView中加入圖片變換的效果:
1
2
3
4
5
6
|
if (isExpanded)
holder.getImageView(R.id.group_ico).setImageResource(
R.drawable.bd_wallet_arrow_down);
else
holder.getImageView(R.id.group_ico).setImageResource(
R.drawable.bd_wallet_arrow_right);
|
- 本文固定鏈接: http://www.ithtw.com/1496.html
- 轉載請注明: leehom 2015年03月19日 於 IT十萬為什么 發表