位置: 编程技术 - 正文

使用RecyclerView写树形结构的TreeRecyclerView(recyclerview addview)

编辑:rootadmin
简介

推荐整理分享使用RecyclerView写树形结构的TreeRecyclerView(recyclerview addview),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:recycler view,recyclerview 使用,recyclerview addview,recyclerview基本用法,recyclerview 使用,recyclerview基本用法,recycleview怎么用,recycleview怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

android是不提供树形控件的,如果需要使用树形控件,我们应该怎么做呢? 先看效果 上图是一个明显的树形结构

实现原理

在逻辑上,它们是包含关系,数据结构上是多叉树,这是毋庸置疑的。但是,显示的时候,我们有必要嵌套ListView或RecyclerView吗?当然没有必要!

每一而Item,在显示的时候,都是平级的,只是它们marginLeft不同而已。更新marginLeft来体现它们的层级关系。marginLeft的值与item在逻辑上的深度有线性关系。展开一个Item的时候,是动态的添加一系列的item。收起一个Item的时候,我们是删除一系列的item.

好了,原理已经说明白了,那就看看源码怎么写吧。

注:我们以android的文件系统的树形结构为例为了动画的流畅性,我们使用RecyclerView,注意,ListView在添加和删除item时,是直接突变的。Code数据模型ItemData父节点对应的ViewHolder子节点对应的ViewHolderRecyclerView的Adapter使用RecyclerView写树形结构的TreeRecyclerView(recyclerview addview)

该部分处理item点击之后的展开和收起,实质上就是将其所有的Children节点动态的添加或删除。添加的位置就是item当前的位置。实现代码在onExpandChildren和onHideChildren方法中。

在MainActivity中调用

由于使用的是RecyclerView,在动态添加和删除孩子节点时,会有明显的“展开”和“收起”效果。

Project

Demo的Github地址: Zheng Haibo 莫川

版权声明:本文为博主原创文章,未经博主允许不得转载。

android:ViewPager与FragmentPagerAdapter 关键点ViewPager的滑动监听,自动定时滑动,滑动时间的设置。CodeMainActivitypackagenet.mobctrl.viewpager;importjava.lang.reflect.Field;importandroid.os.Bundle;importandroid.os.Han

Android:跟手滑动的布局ViewGroup 跟手滑动很多开发者对布局的跟手滑动不太了解,在此就举一个例子,看一个RelativeLayout的滑动显示原理无论是跟手滑动,还是弹入弹出动画,本质上都

Android:自定义控件的一些注意点 自定义控件的几个注意点如果自定义View需要设置一个不变的背景图,为了提高效率,你可以在构造方法中直接设置背景图片。无需在onDraw中绘制Bitmapback

标签: recyclerview addview

本文链接地址:https://www.jiuchutong.com/biancheng/368638.html 转载请保留说明!

上一篇:android游戏开发之我的小小游戏1——五子棋游戏4之电脑下棋、人机对战算法(Android游戏开发打砖块)

下一篇:android:ViewPager与FragmentPagerAdapter

  • 自然人电子税务报税流程
  • 增值税发票记账联和抵扣联都丢了怎么办
  • 耕地占用税是什么税种
  • 个人社保部分公司承担可以入费用吗
  • 跨年度进项税额转出怎么申报
  • 税款已缴未入库是怎么回事
  • 不动产租赁服务的税率是多少
  • 月末怎么计提税费
  • 残疾人保障金计算方法
  • 销售之后发生销货折让收到红字发票如何做账?
  • 单位参加城镇职工基本养老保险缴费基数怎么填写
  • 财产保险合同的主体变更
  • 建筑劳务增值税
  • 无偿赠送不得抵扣吗?
  • 装修公司购入材料计入什么科目
  • 去年的进项票今年可以抵吗
  • 汇算清缴账务
  • 一般纳税人认定管理办法
  • 华为手机屏幕变成黑白怎么调回来
  • word文档打印时不打印批注
  • 查看所有共享文档
  • 为什么网页总是跳掉
  • 工会经费申报的依据
  • macbookair怎么设置屏幕
  • 坏狼变身记简介
  • 税务发票上的账户是对公账户吗
  • html 调用扫码
  • asldrsrv.exe
  • 设备经营租赁属于什么行业
  • 工业企业应付会计工作内容
  • php aes
  • 无偿转让房屋
  • php access
  • php连接redis集群
  • 建设项目罚款支出的会计处理
  • 假发票如何举报
  • 股东出资证明书范本
  • 私对公开发票需要什么
  • 企业都有哪些资质
  • 出租的厂房折旧记哪里
  • mongodb 全文索引
  • 小规模纳税人增值税专用发票税率
  • 法人与财务负责人不应为同一人
  • 个体工商户可以抵扣进项吗
  • 资产负债表中应付账款项目应根据什么填制
  • 普通发票能不能重新开
  • 收取物业费如何纳税
  • 事业单位的职工可以办营业执照吗
  • 出口退税申报系统自检数据撤销
  • 成本结转的凭证后附件是怎样的
  • 建筑行业的收入做什么科目
  • 预付性费用支出计入
  • 购建固定资产属于投资活动吗
  • 人力资源公司劳务费发票税率
  • 公司打到个人账户的钱算公款吗
  • 企业的支出包括( )支出
  • 事业单位预收账款
  • 购买农药化肥怎么入账
  • 内帐外帐的区别与联系
  • mysql sql行转列
  • win7系统怎么把桌面文件放到d盘
  • 微软官方重做系统
  • winxp怎么做系统
  • w7系统cf怎么调烟雾头
  • os x10.12支持的机型
  • win7系统有自带的杀毒软件吗
  • windows7一键还原在哪
  • windows10已激活
  • w10系统如何
  • Win10 RS1 14267 SDK版本发布下载
  • jquerygrid
  • python制作windows安装程序
  • 自定义dialogfragment
  • js动态执行代码
  • js自定义指令
  • [置顶]游戏名:chivalry2
  • 数据字典实例详解
  • 现在哪个行业的税负很重了
  • 建筑工程提前投入使用
  • 纪律作风如何形容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设