位置: 编程技术 - 正文

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

  • 公司申报个税流程
  • 我公司租了个人的房子如何入账
  • 保理公司会计核算讲解
  • 领用包装物的会计分录
  • 退回以前年度所得税费用会计分录
  • 支付员工费用报销账务处理
  • 内账固定资产已经费用化了怎么办
  • 一个公司控股另一个公司
  • 购入固定资产会影响营业利润吗
  • 待抵扣税费
  • 税控设备指什么
  • 剪头开发票
  • 营改增工程计价规则
  • 纳税的税种有哪些
  • 小规模增值税怎么做账
  • 税收的凭证有哪几种
  • 报销单里报销内容可以写送客户烟吗
  • 残保金属于职工薪酬吗
  • 母公司并购子公司需要股东会决议吗
  • 可供出售金融资产属于流动资产吗
  • ah股溢价是什么意思 搬砖
  • 没有金税盘怎么勾选发票
  • windows10更新怎么办
  • coolmark是病毒吗
  • 房地产企业前期工程费包括什么项目
  • pdf.js原理
  • 投资公司要具备什么
  • php递归遍历文件夹
  • 外贸进出口企业退税
  • yolov5损失
  • 劳务派遣应纳税额如何计算
  • 小规模纳税人免税政策2023年
  • thinkphp6项目
  • yii框架安装
  • 网上打印企业征信流程
  • php处理xml数据
  • 预收账款为什么是负债类的
  • php解析base64数据生成图片的方法
  • 红字增值税发票怎么开具图解
  • linux 常用命令大全及其详解
  • vue.js简介
  • php如何实现多进程
  • thinkphp 多表查询
  • vue2 自定义 el-radio-button 的样式并设置默认值的方法
  • 增值税发票查验结果不一致是什么意思
  • 银行承兑到期后几天内有效
  • 织梦小说采集
  • 增值税发票的规范
  • 小规模差额征税可以开专票吗
  • 小型企业需要给员工买社保吗
  • 利润减负债
  • 发行股票的好处和坏处
  • 一般纳税人季报怎么填
  • 费用可以抵扣什么税
  • 加计抵减不符合怎么办
  • 固定资产是指的什么
  • 补缴纳税款
  • 税务机关如何对个人股东股权财务报表审核
  • 以无形资产换入固定资产发生的净损益
  • 缴纳房产税如何做账务处理
  • 小规模纳税人申报增值税的操作流程
  • 会计账务做得混乱的原因
  • linux的安装
  • mysql 5.7.32
  • win10检查文件完整性
  • 安装最新的Google应用
  • win10怎么设置net3.5
  • xp系统开机出现英文怎么办
  • Android OpenGL ES(一)----必备知识
  • python true的用法
  • jquery fadein 源码
  • angular form表单
  • 网页上面的收藏夹显示
  • python urllib urlopen
  • jquery判断是否有某个class
  • 最新设立税务师事务条件
  • 物业收电费有什么猫腻
  • 个人账户手机银行如何对公转账
  • 广西的高速怎么一段收费一段不收费
  • 土地增值税清算管理规程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设