位置: 编程技术 - 正文

使用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最新
  • 劳务公司发放农民工工资的三种形式
  • 法人转钱进公账要交税吗
  • 处置子公司的收益
  • 高新技术企业优惠政策叠加
  • 公司个税申报是什么意思
  • 子公司与总公司的关系说明书
  • 退税发票勾选后开红冲发票怎么申报
  • 期间费用燃油费计入哪个项目?
  • 财务费用结转本年利润借贷方怎么记
  • 1697507434
  • 居民供暖税率
  • 电脑开机后无显示,但主机电源指示灯长亮
  • 国际电汇是什么意思
  • 在国内和国外
  • win11文件类型怎么改
  • 苹果手机送修了会给备用机吗
  • 劳务费费用
  • vagrant 安装centos7
  • 建安营改增时间
  • PHP:pg_affected_rows()的用法_PostgreSQL函数
  • php 赋值
  • php读取excel内容
  • 加班费的计算基数包括补贴吗
  • 筹建期间的开办费为什么不属于资产
  • Yii2 rbac权限控制之菜单menu实例教程
  • php graph
  • 随机梯度下降算法优缺点
  • php 后端
  • 多缴税金抵税会怎么样
  • 跨年度多计提的附加税怎么做分录
  • python django做网页
  • 织梦cms怎么样
  • 帝国cms手机版制作
  • 财政拨款结余的明细科目有哪些
  • 不动产的进项税额转出
  • 股东增资涉税
  • 哪些收入需要交消费税
  • 期末应交增值税的会计科目怎么做
  • 公司帐户转到法人帐户用途写备用金行吗
  • 发放职工工资是什么支出
  • 未确认融资费用借贷方向
  • 项目差旅费可以直接计入劳务成本吗
  • 企业购买了数千亿资产
  • 购进原材料发生的保险费
  • 油卡办理需要多久?
  • 工程施工合同如何核算收入成本?
  • 转让价格名词解释
  • 营改增后计税依据
  • 企业如何建账做账
  • 会计从业资格证取消了吗
  • xp系统删除文件反应很慢
  • msng.exe是什么
  • windowsxp打不开
  • 64位CentOS 6.4安装配置流量监控工具ntopng
  • win7系统点击计算机图标未响应
  • newsupd.exe - newsupd是什么进程 有什么用
  • win10粘滞键怎么解除
  • win10系统如何查看版本号
  • vsftp命令
  • windows8快速关机
  • 11月 Win8.1 Update 3更新哪些内容?开始菜单依然没有
  • bootstrap导航有哪些
  • 铁嘴银牙剧情简介
  • linux用户配置文件是什么
  • nodejs websocket客户端
  • jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
  • JavaScript中property和attribute的区别详细介绍
  • python在windows
  • jquery详解
  • 归并代码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设