位置: 编程技术 - 正文

使用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

  • 增值税查询校验码是什么
  • 企业的开办费
  • 非营利组织免税资格怎么认定
  • 被客户扣钱怎么办
  • 广告服务收入要计入什么科目
  • 行政人员出差预借差旅费需要预算会计吗
  • 售后服务企业返利政策
  • 增值税申报表更正情况说明怎么写
  • 应收账款减值后可以转回吗
  • 微信提现手续费最新规定
  • 钉钉报销费用明细怎么写
  • 收到供应商发票的会计处理怎么做?
  • 增值税的会计核算
  • 电力设备维护费增值税税率
  • 增值税专用发票验证真伪
  • 小规模纳税人开专票税率是1%还是3%
  • 个税申报中劳务报酬
  • 已完成认证
  • 单位存款账户按用途分为
  • 借应收账款贷应收账款是什么意思
  • 1697509966
  • 固定资产的折旧从什么时候开始
  • mac如何强制退出全屏
  • 企业发生的亏损不一定会导致所有者权益减少
  • 什么电脑系统比较好
  • 光纤布线有什么作用
  • ThinkPHP让../Public在模板不解析(直接输出)的方法 原创
  • php call方法
  • 交契税需要什么东西
  • 在公司发明的东西专利权归谁
  • 银行结算账户的种类
  • 电脑怎样设置共享文件夹
  • php的正则表达式
  • root面具怎么用
  • 公司修好厂房老板怎么说
  • 贷款的账务处理
  • 股东股权转让税务稽查案例
  • 约克郡在哪
  • 用人单位垫付生育津贴怎么算
  • 缴纳社保公司需要税务登记吗
  • airpods怎么注销主人
  • iconfont原理
  • vue缓存路由组件相关的两个生命周期函数是
  • 投资收益的核算依据
  • 公益性怎么解释
  • java 访问者模式
  • 织梦系统
  • 资产减值损失是费用吗
  • sql server 2008 安装文件
  • 销售折扣购物卡对公司财务的好处
  • 房地产企业成本核算方法
  • 商场返现活动怎么入账
  • 非公司股东可以分红吗
  • 采购的样品没有发票怎么入账
  • 其他应付款能否直接做实收资本的账务处理
  • 过桥贷款有什么风险
  • 2023最新税收优惠政策有哪些
  • 工资的税额
  • 资产负债表怎么算
  • 总账的建立
  • 施工企业应收账款确认依据
  • microsoft wlan
  • u盘启动pe工具
  • Win7 64位摄像头驱动显示黄色感叹号无法使用的解决方法
  • perl读取文件内容到数组
  • cocos设置中文
  • androidsocket原理
  • 关于javascript
  • Node.js中的什么模块是用于处理文件和目录的
  • Please ensure that adb is correctly located at 'D:Androidandroid-sdkplatform-toolsadb.exe' and
  • 欢迎使用来电提醒业务是什么意思
  • 浏览器环境下的事件循环
  • Android自定义标签选择面板,自定义ViewGroup
  • 谷歌的全球化发展战略
  • 河北国家税务局发票查询系统
  • 广东省广州市国家安全局
  • 北京定额发票查验
  • 税务投诉回访电话号码
  • 开展和组织开展什么区别
  • 逆光代售和神仙代售那个好一点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设