最近想做依照QQ做些那样的效果,所以就用到了ExpandableListView,在网上搜集了一些,在加上自己的总结,如下:

  1.自定义 ExpandableListView 的group的样式

  目的:把小箭头放在右边

   先把groupIndicator属性禁掉,android:groupIndicator="@null",然后把自定义的布局加入

        @Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = li.inflate(R.layout.expandable_group, null);
ImageView mgroupimage=(ImageView)view.findViewById(R.id.groupimage);
if(!isExpanded){
mgroupimage.setBackgroundResource(R.drawable.btn01);
}else{
mgroupimage.setBackgroundResource(R.drawable.btn02);
}
TextView tv = (TextView) view.findViewById(R.id.groupname);
tv.setText(groups[groupPosition]);
return view;
}

  2.只展开一个group,点第一个gorup后,再点第二个group时,第一个会自动收缩  

expandablelistview.setOnGroupExpandListener(new OnGroupExpandListener(){

@Override
public void onGroupExpand(int groupPosition) {
// TODO Auto-generated method stub
for(int i=0;i<groups.length;i++){
if(groupPosition != i){
elv.collapseGroup(i);
}
}
}});

  3.点击时会出现全部变为黑色的情况  

expandablelistview.setCacheColorHint(0);

使用前:

  4.如果group没有child时,就不让它展开  

        expandablelistview.setOnGroupClickListener(new OnGroupClickListener(){

@Override
public boolean onGroupClick(ExpandableListView parent, View v,
int groupPosition, long id) {
// TODO Auto-generated method stub
if(childs.get(groupPosition).isEmpty()){
return true;
}
return false;
}});


  5.

android:groupIndicator 定义group行的指示图标的样式,展开和收缩时图标的变换
android:childIndicator 定义child行的指示图标的样式
android:drawSelectorOnTop 为true时,点击时,出现的颜色会把文字覆盖住,为false时,不会
android:transcriptMode 需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。

通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部

android:fadingEdge 设置上边和下边的阴影

android:fadeScrollbars

滚动条的自动隐藏和显示。






更多相关文章

  1. Android(安卓)Studio配置百度地图开发环境
  2. Android(安卓)Design Support Library 控件的使用
  3. Android控件自定义形状
  4. android之activity平滑水平切换动画
  5. 【Android(安卓)基础】之 ImageView 的 scaleType 属性
  6. Android(安卓)布局之layout
  7. Android使用百度地图---环境配置和Hello World
  8. Android自定义View(一、初体验自定义TextView)
  9. Android布局之线性布局——LinearLayout

随机推荐

  1. 新建Android工程遇到几个问题
  2. 关于Handler导包问题
  3. Android中几种图像特效处理方法小结
  4. Android之国际化
  5. Android应用开发揭秘 第一章
  6. Android使用NotificationManager进行消息
  7. Android Asynchronous Http Client-Andro
  8. Android中Drawable Resource学习
  9. Android 解决tools:replace=android:appC
  10. 优秀的android开源项目