位置: 编程技术 - 正文

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

  • 电费发票隔月开如何做账
  • 公司开户费用都包括哪些
  • 印花税交完有什么凭证
  • 小微企业所得税优惠政策最新2022
  • 预收货款存入银行分录
  • 商场返券活动300返220
  • 应收账款未收到是否要交税
  • 以前漏记的成本怎么处理
  • 有留抵税额的会计处理
  • 应收票据背书支付
  • 汽车修理厂如何做账
  • 增值税检查调整科目已经删除
  • 0申报的清算所得税申报表怎么填
  • 减免税期间是什么意思
  • 建筑行业一般纳税人简易征收的范围
  • 个人能在税务局交社保吗
  • 提供餐饮服务的税率
  • 涉农贷款损失
  • 劳务派遣直接支付工资吗
  • 党费专用账户可以收取转账费用吗
  • 查账征收的个体户注销流程
  • 月末结转本月已销产品成本
  • 坏账准备如何做账
  • 苹果桌面小工具怎么设置
  • 在承租的土地上建房
  • 车辆被盗
  • express框架使用
  • 购买材料支出明细表
  • 政府会计制度应付职工薪酬账务处理
  • 罚款支出是什么意思
  • 比利牛斯山作为天然界限
  • 其他综合收益的借贷方向
  • 财务的几张报表
  • 用户登录php
  • 无形资产摊销怎么计算月摊销额
  • mongodb快速入门
  • 法人转钱入公户要交税吗
  • 企业可以一次性现金的方式发放工资
  • 固定资产投资额怎么计算
  • mysql load local
  • 银行余额调节表的作用
  • 电子承兑汇票兑现扣几个点
  • 工会经费多久缴纳一次
  • 纳税申报是根据什么填写的
  • 未分配利润与利润表的勾稽关系
  • 主营业务成本如何设置明细
  • 小微企业社保代缴
  • 事业单位会计的特点
  • 社保局退回来的社保怎么入账
  • 不开发票的收入如何申报纳税?
  • 社保计入管理费用什么科目
  • 双倍余额递减法例题及解析
  • 应收账款占比高受哪些因素影响
  • 发票金额比实际支付金额大
  • 收购 发票
  • 票据到期无力支付怎么办
  • 低值易耗品与固废的区别
  • 最基本的长度单位是什么
  • 受益无穷还是受用无穷
  • safari macos
  • docker mysql 数据存储容器目录
  • winadserv.exe - winadserv是什么进程
  • js操作list
  • 第二次约会聊天没多少可以聊的,经常冷场
  • javascript+HTML5 Canvas绘制转盘抽奖
  • shell的简单实现
  • vue中父子组件如何通信的
  • unity strangeioc
  • dom 和bom
  • android的r
  • 孙其功陪你学之——unity3d进程暂停
  • js 自执行
  • js怎么拿到表单提交数据
  • jquery easyui datagrid实现增加,修改,删除方法总结
  • 安卓app压力测试
  • 怎样从税务局网上交医保
  • 税务注销相关文件
  • 邳州国税局副局长
  • 三种人不交个人所得税?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设