实现效果

思路

我使用的是第三方适配器BaseRecyclerViewAdapterHelper

但是遇到一个问题
这个适配器2.0和3.0不兼容 而2.0版本 没有折叠效果这个组件 我用3.0版本 gradle一直依赖不了
怎么办?

只能寻找其他方法来实现 我想到的是在用两层 RecyclerView的办法
在第一次的item布局里嵌套第二次RecyclerView
觉得可行 就开始写代码 最终结果还可以优化 就是上面的样子 实现了点击折叠和展开的效果

代码

代码实现比较简单
唯一要说的就是通过一个Flag来更改折叠状态
在第一层的adapter中可以设置一个标记位

 //默认是关闭private boolean isOpen = false;public boolean isOpen() {return isOpen;}public void setOpen(boolean open) {isOpen = open;}

然后在 convert方法中 来切换数据的状态

 if (isOpen) {mRecyclerView.setVisibility(View.VISIBLE);linearLayout.setVisibility(View.VISIBLE);view.setBackgroundResource(R.mipmap.icon_more_than_open);} else {mRecyclerView.setVisibility(View.GONE);linearLayout.setVisibility(View.GONE);view.setBackgroundResource(R.mipmap.icon_more_than);}

最后在数据展示的那个页面 调用Adapter里的折叠方法

  mAdapter.setOnItemClickListener((adapter, view, position) -> {if (mAdapter.isOpen()) {mAdapter.setOpen(false);} else {mAdapter.setOpen(true);}//这个是渲染数据后 刷新 不然看不到数据mAdapter.notifyDataSetChanged();});

最后提示
adapter里的布局 建议设置成 wrap_content

  android:layout_width="match_parent"android:layout_height="wrap_content"

为什么呢?
如果设置了固定尺寸 他是没有那种折叠效果的 会占的空间比较大 数据多少 排版很难看

总结

一点点在进步 以前没做过的 通过思路把它变成自己的知识
2021-继续加油~

Android RecyclerView点击展开、折叠效果的实现方式相关推荐

  1. android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(二)

    第一篇链接: android RecyclerView一步步打造分组效果.类似QQ分组.折叠菜单.分组效果(一) 注!已更新代码! 上一篇写了分组效果的初步实现: 这一篇就继续增加分组折叠效果和基类的 ...

  2. android RecyclerView一步步打造分组效果、类似QQ分组、折叠菜单、分组效果(一)

    第二篇文章链接: android RecyclerView一步步打造分组效果.类似QQ分组.折叠菜单.分组效果(二) 效果图: 前言 之前看到这种效果如果用recyclerview来实现没有一点思路, ...

  3. android 评论的展开功能,Android开发实现ListView点击展开收起效果示例

    本文实例讲述了Android开发实现ListView点击展开收起效果.分享给大家供大家参考,具体如下: 废话不说先上效果: 实际上这是采用一个ExpandableListView实现的 布局文件很简单 ...

  4. android 展开收起功能,Android开发实现ListView点击展开收起效果示例

    本文实例讲述了Android开发实现ListView点击展开收起效果.分享给大家供大家参考,具体如下: 废话不说先上效果: 实际上这是采用一个ExpandableListView实现的 布局文件很简单 ...

  5. android 实现控件搜索折叠效果 Animation动画折叠和普通折叠

    android 实现控件搜索折叠效果 Animation动画折叠和普通控件直接折叠效果: 原理很简单,都是获取对应的高度,通过实现高度变化而改变显示效果: 话不多说直接上代码 1.普通折叠效果,以下是 ...

  6. html实现文字隐藏展开特效代码,js实现点击展开隐藏效果(实例代码)

    js实现点击展开隐藏效果(实例代码) 发布时间:2020-09-20 10:47:49 来源:脚本之家 阅读:69 作者:laozhang 本章给大家介绍用js事件冒泡实现鼠标点击显示提示框效果(代码 ...

  7. android 文字点击展开,仿微信朋友圈,文字展开全文,全文收起功能

    android:id="@+id/tv_expand_or_fold" android:layout_width="wrap_content" android: ...

  8. WPF实现圆形菜单动态展开折叠效果

    实现效果如下: 思路:根据子菜单个数计算旋转角度动态生成子菜单,并设置展开折叠动画. 步骤: 1.自定义按钮MyButton,建立展示图像属性DisplayImage public class MyB ...

  9. Vue 实现展开折叠效果

    效果参见:https://segmentfault.com/q/1010000011359250/a-1020000011360185 上述链接中,大佬给除了解决方法,再次进行总结,方便以后使用. 除 ...

最新文章

  1. Django--Uploaded Files以及Handlers
  2. 【机器视觉】 convert_vector_to_tuple算子
  3. jquery ajax php获取,使用jquery ajax获取php结果
  4. 最简单的设置按钮的鼠标悬停效果
  5. 信息学奥赛一本通(2026:【例4.12】阶乘和)
  6. ARMs3c2440开发板挂接NFS服务
  7. python中usecols_Python学习路线?
  8. 【Vegas原创】GridView跨页选择多行数据,并循环添加一行DataSet数据
  9. 安编译器错误_centos 安装pcre报c++编译器错误
  10. 水面反光如何拍摄_拍照反光太难看?这八个办法值得一试!
  11. [LibTorch Win] 各版本 LibTorch 下载
  12. pmbok第六版_英文版(带目录).pdf_书籍分享 | 高等数学(第六版)含解析~同济大学...
  13. 等保要求的 linux 系统扫描脚本
  14. 100行JS代码实现❤坦克大战js小游戏源码 HTML5坦克大战游戏代码(HTML+CSS+JavaScript )...
  15. Java微服务面试题及答案2022,微服务面试题2022
  16. YOLOv3原理详解(绝对通俗易懂)2021-07-01
  17. 阿里P7、P8、P9级别需要多少年的工作经验,还是因能力而定?
  18. 微信小号赚钱(转载)
  19. goldengate mysql to oracle,goldengate mysql to oracle OGG-00146 求助!
  20. Python 遗传算法实现字符串

热门文章

  1. java网上汽车销售网站系统
  2. 进程、线程、纤程、协程
  3. linux 下gz文件解压命令,Linux解压gz文件的命令怎么写
  4. python中使用pymysql创建数据库(针对于Mysql数据库)
  5. OPPO手机如何把快应用放到桌面
  6. 网络安全-IPSec(互联网安全协议)
  7. Dockerfile ENV 使用指南
  8. 【云计算】实验1:云主机搭建静态网站
  9. 利用js跳转页面与返回页面
  10. 化妆品眼影调色板HRIPT RIPT皮肤斑贴测试流程