zoukankan      html  css  js  c++  java
  • 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

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

       
       


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

      
     

  • 相关阅读:
    笔记:Why don't you pull up a chair and give this lifestyle a try?
    使用 Git 来备份 MySQL 数据库
    FastAdmin 将 PHP 框架升级到 ThinkPHP 5.1
    javascript的冻结对象之freeze(),isFrozen()方法
    javascript的密封对象之seal(),isSealed()方法
    javascript的防篡改对象之preventExtensions()方法
    自己根据js的兼容封装了一个小小的js库
    关于跨浏览器的部分代码的封装
    jQuery 的noConflict()的使用.
    jQuery的get()用法
  • 原文地址:https://www.cnblogs.com/daohen/p/2304005.html
Copyright © 2011-2022 走看看