位置: 编程技术 - 正文

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

  • 对外支付哪些项目需要缴税
  • 免税收入不征税收入有哪些
  • 银行对账单放前面还是放后面
  • 生产车间维修费是制造费用还是管理费用
  • 工程中常见的土方工程有哪些
  • 小规模纳税人实收资本
  • 个人转款到对公账户会计分录
  • 外商投资企业是民营企业吗
  • 在建工程购入的空调怎样入账
  • 2021年工作绩效未达标扣工资
  • 房地产开发桩基施工方案
  • 软件维护费可以出维护人员工资吗?
  • 银行利息增值税发票
  • 专家评审费个人所得税由谁支付
  • 如何确定合并报表的范围简答题
  • 公司不给发公司
  • 劳务服务公司业务范围
  • 应收账款收款后怎么做账
  • 个人取得的股票转让所得暂不征收个人所得税
  • 融资租赁增值税优惠政策
  • 简易计税分包款进项税可以抵扣吗
  • win10 kb5001567
  • php字符串函数有哪些
  • win11系统怎么设置密码锁屏
  • 总分机构什么时候备案
  • 何为租赁合同
  • 应收票据的基本要素包括
  • 现金折扣优惠
  • 买发票前金税盘需要抄税和清卡吗?
  • 劳务费用 税
  • 工伤死亡 赔偿
  • vuex和bus
  • 2021年车辆检测
  • 小餐饮需要交什么税
  • 销项税比进项税多怎么办
  • 城镇土地使用税每年都要交吗
  • 劳务派遣应如何签合同
  • 电子发票怎么清盘操作流程
  • 应税服务项目减除清单0申报如何填写
  • 为什么分红不影响损益
  • 迭代器实现原理
  • 工程发票多少点
  • 员工差旅费报销会计分录
  • 计提工资附什么单据
  • 长期借款的会计分录怎么写
  • 解决烧心最快方法
  • 机动车发票红冲多了税盘被锁
  • 库存商品的成本主要包括
  • 购买劳务费会计分录
  • 应付利息的主要方式
  • 影视公司临时演员怎么办
  • 公司报销给个人的会计分录
  • 小额零星支出是什么意思
  • 代开专票作废税已经交了如何做分录?
  • 工程施工中购买的设备一直未入账需要评估吗
  • 母子公司可以合并吗
  • 注册资本可以随便填吗
  • 税前扣除是什么时候开始的
  • 什么是计提坏账准备
  • 财政专用存款账户
  • ubuntu20.04怎么安装
  • win7系统怎么关闭病毒防护
  • ubuntu系统如何安装
  • linux 文件管理命令
  • centos怎么查看服务器配置
  • win7旗舰版怎么改成专业版
  • win7开机提示音在哪里关闭
  • win7系统网络连接禁用怎么开启
  • linux cp的用法
  • win10系统怎么修改字体大小
  • win10系统优化的方法
  • android images
  • css用什么写
  • 新的开始励志句子
  • 增强现实的三个特征
  • javascript如何绘制曲线
  • python调用fortran函数传入数组
  • python数据通信
  • 小微企业减半征收房产税
  • 新企业会计准则长期待摊费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设