ExpandableListView研究

  最近想做依照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

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

  
  


原创作品,转载请注明出处转载自道痕

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值