位置: 编程技术 - 正文

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

  • 我国增值税征收范围
  • 什么是进口增值业务
  • 六税两费都包括哪些税费种?
  • 公司承担个税的账务处理
  • 所得税本期需要结转吗
  • 定额的个体户需要汇算清缴吗
  • 中央空调折旧年限是多久
  • 买什么样的房子可以贷款
  • 房地产企业回迁安置房税收规定
  • 增值税发票可以抵扣多少
  • 个税父母赡养抵扣3000
  • 非在职员工是什么意思
  • 旧设备进口关税
  • 收到的借款利息计入什么科目
  • 普通发票企业有用吗
  • 个人取得利息需要缴纳增值税吗
  • 个人住房交易50万元
  • 高新技术企业享受什么优惠政策
  • 购进电费管理费会计分录
  • 在途物资非合理损耗
  • 个人工程款税怎么开
  • 资产负债表是一年一次吗
  • 开票人为什么不能改
  • 财务部水电费会计分录
  • 未收到房租是否缴纳增值税
  • 向境外股东分配利润怎么交税
  • 公司为什么每年都要招人
  • 事业单位预付款会计分录
  • 消费税和增值税的征税范围有何不同
  • 股份支付有哪些基本类型
  • 土地使用税缴纳人是使用者还是所有权人
  • php反射使用场景
  • js es6常用方法
  • axios发送多个请求
  • 上下联的方法
  • 转账支票适用范围
  • 以非现金资产清偿债务的,债权人应当
  • 小企业其他应收款坏账处理
  • 进货退出进项税额的核算
  • 做工程没钱了可以贷款吗
  • 税务局开普票需要什么材料
  • 小规模纳税人跨区域预缴增值税
  • vue3.0用法
  • mysql备份数据恢复
  • 广播影视服务税率2023
  • 交易性金融资产的入账价值
  • 尾款忘记支付,交易关闭怎么办
  • 在建工程转入
  • 其他应付款科目贷方登记发生的各种应付
  • 固定资产没有折旧完要转走会计科目
  • 暂估入库的税务怎么处理
  • 产权转移数据印花税子目
  • 生产成本人工费结转
  • 内账收入如何确认
  • 小规模纳税人认定标准2023年最新
  • 从银行取现金是什么凭证
  • 金税盘如何查看是否清卡
  • 公司向职工借钱怎么做账
  • 银行承兑汇票怎么做账
  • 资产减值损失是借增贷减吗
  • 固定资产盘亏计入固定资产清理吗
  • mysql 分组语句
  • sql null用法
  • mac怎么自动清理垃圾软件
  • RSync文件备份同步 Linux服务器rsync同步配置图文教程
  • vmware虚拟机步骤
  • Win7 64位系统声卡重装过程中出现失败的解决方法
  • 让mac桌面变整洁的方法
  • WIN10系统中没有接入音频设备 要启动gui
  • win8没有开始菜单 点键盘开始菜单黑屏
  • Unity3D HTTP协议 网络通信 post get
  • shell案例讲解
  • k mean python
  • javascript编程语言
  • jquery 放大镜
  • 安卓框架是什么怎么用
  • python操作word文档替换文字
  • bootstrap范例
  • 美国对中国企业的政策
  • 福建省网上税务办事大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设