位置: 编程技术 - 正文

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

  • 山东税务网上申报平台操作员查询
  • 增值税销项税额公式
  • 城建税的税目是哪些
  • 我国采用的税率形式有哪几种
  • 自然人扣缴系统初次登录怎么设置密码
  • 手写报销单据格式图片
  • 管理不善进项税额转出会计分录
  • 资产负债表期初和期末的关系
  • 小规模纳税人能用专票抵税吗
  • 负数增长到正数的例子
  • 建安业一般纳税人是清包工是什么意思
  • 企业自用房要交契税吗
  • 现金存入公司账户风险大吗安全吗
  • 查账征收所得税计税依据
  • 小规模税局代增值税专用发票怎么交税
  • 广告公司认定一般多少钱
  • 小规模纳税人申报表2023年怎么填写
  • 淘宝无票采购账务处理
  • 对公账户发工资的利弊
  • 欠发工资如何赔偿
  • 股权转让受让方要交个人所得税吗
  • 餐饮业成本核算明细表
  • 在建工程会计账务处理是否有利润表
  • 印花税退费
  • 往来账乱如何处理
  • mac电脑command+s
  • php变量底层实现
  • mac如何修改
  • 2022年苹果iphone14视频配音乐
  • 供热企业收取采暖费标准
  • windows商店如何切换地区
  • 其他应付款转营业外收入合法吗
  • 本年利润和未分配利润怎么结转
  • 门面出租赚钱吗
  • 企业租赁发票税率是多少2023年
  • 个人从事生产经营
  • 如何修改家里的wifi密码
  • 资本金投资回报率
  • 施工方可以向建设单位借款么
  • php怎么传递参数
  • yii2 resetful 授权验证详解
  • 帮人开票怎么计算税点金额
  • phple
  • 定额发票累计领取怎么算
  • dem如何生成
  • ps大型文件储存位置在哪
  • 年底所得税怎么算
  • 《开具红字增值税专用发票信息表》纸质
  • 怎样网上抄税
  • 小规模纳税人去年免税,红冲后今年开多少税率的发票
  • centos乱码,怎么修改成英文
  • python Timer定时器如何使用?
  • 母公司对子公司的控股比例
  • 企业实收资本与实缴资本
  • 低值易耗品摊销表格
  • 开票收入摘要怎么写
  • 股权转让溢价部分会计分录
  • 劳务公司发放农民工工资要交个税吗
  • 需要安装的固定资产有哪些
  • 提高sql执行效率的方法
  • 电脑开机绿
  • xp系统 修复
  • linux date-u
  • windows7禁止开机启动
  • sql2000停止拒绝访问
  • Ext JS 4实现带week(星期)的日期选择控件(实战二)
  • python 邻接表
  • jquery 图片
  • js绑定函数
  • 消耗cpu的软件
  • 《噩梦》
  • nodejs获取post数据
  • 工作笔记范文100篇简短
  • javascirpt
  • selenium在pycharm
  • bootstrap要学到什么程度
  • jsgenerator
  • javascript post语法
  • 江苏企业所得税税率2023
  • 一般纳税人什么意思
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设