位置: 编程技术 - 正文

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

  • 车辆购置税会计科目怎么做账
  • 企业税收收入怎么计算
  • 固定资产更新改造资本化条件
  • 个体工商户税务申报一年几次
  • 贸易公司开发票进项跟销项不符合怎么办
  • 银行存款属于其他货币资金核算内容吗
  • 现金流量表现金指的什么
  • 收到存款利息怎么写分录
  • 什么情况下做暂估
  • 设计原始凭证所需内容及步骤
  • 房贷利息抵个税细则 两套房
  • 一般纳税人应交增值税明细科目设置
  • 接受土地使用权作为投资属于什么凭证
  • 个人经营所得核定征收超过多少要交税
  • 企业合并以外
  • 没交社保能扣工伤保险吗
  • 增值税零税率发票开具条件
  • 建筑企业成本票是含税价还是不含税价
  • 转出未交增值税在借方是什么意思
  • 应付账款少说明什么
  • 采购的增值税
  • 跨地区经营建筑企业预缴增值税
  • 分期收款确认成功怎么办
  • 工程承包款要交多少税
  • 苹果电脑如何缩小图片大小
  • unsupportedfirsthd解决办法
  • 员工 意外保险
  • PHP:oci_new_connect()的用法_Oracle函数
  • iis6配置php网站
  • 如何申请菜鸟驿站快递代理点
  • php中实现文件上传的函数是什么
  • vue前端框架搭建
  • matlab中自由变量
  • ChatGPT全面升级,GPT4支持多模态数据。
  • box-sizing:border-box的理解和作用
  • 27岁零基础转行做网络工程师
  • js面试必问
  • 报销用别的发票抵用怎么入账
  • 出口货物不予免、抵和退税为什么是按外销离岸价计算
  • php 文件处理
  • 个体户怎么网上变更法人
  • 网购报销需要发票和什么截图
  • 一联发票和二联发票
  • 签发转账支票需要的单据
  • 建筑工程施工围挡安装
  • win7系统安装包在哪个文件夹
  • 小规模纳税人减半征收的六税两费
  • 定期定额户用财务制度备案吗
  • sql server触发器在哪里?
  • 初级会计实务中国财政经济出版社
  • 原材料用于在建工程进项税
  • 支付返利计入什么科目
  • 工程服务预交税怎么算
  • 劳务派遣差额扣除项目包含个人缴纳的社保费吗
  • 凭证扣除 28号
  • 盘盈的固定资产按什么入账
  • 成本核算方法是移动加权平均法吗
  • 民间非营利组织会计制度及操作实务
  • 企业资质证书丢失怎么办
  • 代扣代缴的增值税为什么可以抵扣
  • 住院病假工资如何计算
  • xp系统登陆界面切换用户
  • windows 高分屏
  • centos配置yum
  • win10升级准备就绪需要多久
  • window7iis配置步骤
  • unity做app开发
  • jquery实现图片懒加载
  • Android 中的 TableLayout 继承自
  • 数据结构 二叉树什么是孩子数
  • 猫的所有视频
  • javascript高级程序设计电子书
  • JavaScript中的math.pi
  • javascript数据类型有哪些
  • jquery代码实例
  • jquery解决跨域问题
  • 土地增值税清算条例与实施细则
  • 货车附加费多少钱
  • 国税申报时间2023
  • 税务主管机关有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设