1. 设置ExpandableListView 默认是展开的: 
  先实例化exListView (ExpandableListView所有数据齐全后可用,否则报错)

exListView.setAdapter(exlvAdapter);
//遍历所有group,将所有项设置成默认展开  intgroupCount = exListView.getCount();
for (inti=0; i<groupCount; i++)  {   exListView.expandGroup(i);  };   

2. 去掉ExpandableListView 默认的箭头 
  用到ExpandableListView时有个箭头图标系统自带的在你自定义布局也不能去掉只要设置一个属性即可,如下:

settingLists.setGroupIndicator(null);

此处就是设置自定义的箭头图标的。置空则没有了。  
也可以自定义(但是位置还是在那个地方不推荐)如下: 
首先,自定义一个expandablelistviewselector.xml文件,具体内容如下: Java代码

加一句代码如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">   <item android:state_expanded="true" android:drawable="@drawable/expandablelistviewindicatordown" />   <item android:drawable="@drawable/expandablelistviewindicator" />  </selector>   
settingLists.setGroupIndicator(this.getResources().getDrawable(R.layout.expandablelistviewselector));  

或xml设置:

android:groupIndicator="@drawable/groupIndicator_selector"  

3. 将默认的箭头修改到右边显示: 
 
  1)首先ExpandableListViewelistview;

    elistview.setGroupIndicator(null);//将控件默认的左边箭头去掉,

  2)在自定义的继承自BaseExpandableListAdapter的adapter中有一个方法

/** * 父类view */ @Override
ublic View getGroupView(intgroupPosition, booleanisExpanded, View convertView, ViewGroup parent)
{ Log.i("zhaoxiong","parent view");   LinearLayoutparentLayout=(LinearLayout) View.inflate(context, R.layout.wowocoupons_parent_item, null);   TextViewparentTextView=(TextView)parentLayout.findViewById(R.id.parentitem);  parentTextView.setText(parentlist.get(groupPosition));   ImageViewparentImageViw=(ImageView) parentLayout.findViewById(R.id.arrow);   //判断isExpanded就可以控制是按下还是关闭,同时更换图片  if(isExpanded){   parentImageViw.setBackgroundResource(R.drawable.arrow_down);   }else{   parentImageViw.setBackgroundResource(R.drawable.arrow_up); }    return parentLayout;
} 

expandablelistview响应onGroupClick监听:

设置expandablelistview.setOnGroupClickListener()
折叠和展开事件,可以设置setOnGroupCollapseListener和setOnGroupExpandListener

ExpandableListView中包含多个group,想要展开一个group时,其他group都关闭:

exList.setOnGroupExpandListener(new OnGroupExpandListener() {    @Override    public void onGroupExpand(int groupPosition) {    for (int i = 0; i < getData().size(); i++) {    if (groupPosition != i) {    exList.collapseGroup(i);    }    }    }    }); 

3)expandablelistview的Group点击事件,onGroupClick的返回值false展开,true不展开(如果配合默认展开,就会固定展开不收缩)

按 Ctrl+C 复制代码

Android之ExpandableListView的各种效果(默认展开不合闭,自定义父栏目及箭头控制)相关推荐

  1. 关于element tree树形结构设置默认展开第一级,第二级,第三级,以此类推

    官方default-expand-all是否默认展开所有节点,这个在这里已经不够用了. 第一步:设置node-key属性,每个树节点用来作为唯一标识的属性,整棵树应该是唯一的.例如:node-key= ...

  2. Android中实现类似qq好友列表展开收起的效果

    最近两天学习实现了一个功能,感觉很好,一定要记录下来. 在网上找了一些资料,林林总总,总是不那么齐全,有的代码做成小Demo还会报错,需要自己调试半天.也幸好如此,我将此功能涉及到的一些知识点理解的更 ...

  3. Android 11.0 下拉状态栏通知栏的通知设置默认展开

    1.概述 在11.0 的产品定制化中,对于SystemUI的定制也是常用的功能,而在下拉状态栏中的通知栏部分也是极其重要的部分,每条通知实时更新在通知栏部分,由于通知栏高度的限制,每条通知是默认收缩的 ...

  4. Android中ExpandableListView的使用

    Android中ExpandableListView的使用 ExpandableListView是Android中可以实现下拉list的一个控件,具体的实现方法如下: 首先:在layout的xml文件 ...

  5. android 之ExpandableListView详解

    ExpandableListView是一种可应用于某种环境的下拉列表. 实例代码: package com.example.lenovo.expandablelistview_demo;import ...

  6. Android之ExpandableListView

    ExpandableListView可以用来表现多层级的listView,本文主要是ExpandableListView的一个简单实现 布局文件 <LinearLayout xmlns:andr ...

  7. android炫酷的动画效果

    这段时间看到一些比较好看的android动画效果,下面我就给大家一些我比较喜欢的动画效果,并附上源码希望对你们有用处. 1.很简单却很酷的粒子破碎效果 介绍:  实现思路 1.新建一个 Bean Pa ...

  8. android仿ppt,android 仿ppt进入动画效果合集

    EnterAnimation android 仿ppt进入动画效果合集, 百叶窗效果,擦除效果,盒状效果,阶梯效果,菱形效果,轮子效果,劈裂效果,棋盘效果, 切入效果,扇形展开效果,十字扩展效果,随机 ...

  9. 时光轴三之 ExpandableListView版时光轴效果

    上两篇讲到了用listView和recyclerView来实现时光轴,这一篇我们用ExpandableListView来实现时光轴,废话不多说,直接来代码. 还是先activity_main.xml ...

最新文章

  1. ASP.NET中gridview获取当前行的索引值
  2. EfficientNetV2震撼发布!87.3%准确率!模型更小,训练更快!谷歌大脑新作
  3. 电脑卡顿不流畅是什么原因_为什么Windows/iOS操作很流畅,而Linux/Android却很卡顿呢...
  4. 牛客假日团队赛8:K.Cow Contest(最短路(floyd)变形)
  5. 为JavaOne 2014做好准备!
  6. 感觉自己不适合编程 确学了计算机专业,高薪程序员:“我劝他学医,别学计算机,却被冤枉在害人”...
  7. C++函数调用时堆栈的变化情况
  8. 图像识别算法超低代码开发方案
  9. auto和decltype的用法总结
  10. pyqtSignal信号和槽
  11. ubuntu安装微信
  12. 如何进入DOS系统 | 常用DOS系统命令
  13. vue结合百度地图api实现地址检索、路线规划等功能
  14. 关于无线网卡驱动更新后无法使用(错误代码43)的问题
  15. 企业经营模拟(ERP沙盘、ERP电子沙盘)分析总结报告与心得分享
  16. 给定一个字符串s,找出s中最长的回文子串,你可以假设s的最大长度是1000。
  17. java作业分工_团队作业(三):确定分工
  18. 【时间序列分析】差分运算及延迟算子的性质
  19. conda安装 tensorflow-gpu出现错误
  20. Word中MathType公式乱码问题解决办法

热门文章

  1. 一篇文章弄懂Java多线程基础和Java内存模型
  2. go slice切片详解:定义、遍历、追加切片、切片拷贝
  3. 解除Ubuntu系统的root登录图形界面限制
  4. linux获取cpu核数(线程数)
  5. win10修改gradle用户目录(缓存目录)
  6. go切片的定义及make使用
  7. Nginx Keepalived安装部署完整步骤
  8. zookeeper实现分布式锁的原理及具体使用案例
  9. Freemarker基于模板字符串生成静态化html文件
  10. 在SSH上传文件出现Permission denied错误