android三级列表拖动

最近项目需求要求对一个三层级的树状列表做拖动,经过一周时间的开发终于是搞出来了。

做出来的效果

Android三级列表拖动

一、首先讲一下树状列表是如何实现的

1.整个树状列表使用的是RecyclerView

2.层级间的UI是用Item中左侧一个透明的View宽度大小来实现层级效果

3.和后端要求,让其返回我们协商一致的数据结构

二、拖动的实现用的是 ItemTouchHelper.Callback 

1.定义一个接口,里面有四个需要实现的方法

1.1 拖动开始,获取初始拖动的position  onItemStart(int postion)

1.2 拖动中做位置交换,获取拖动交换前和交换后的position  onItemMove(int formPosition int toPosition)

1.3  手指完成拖动或取消拖动事件 onItemEnd( )

1.4 拖动中,拖动条目和上下条目的位置关系,区分拖到条目的里面还是两个条目中间 onUpAndDown(int type)

2.将这个接口的实例和Recyclerview 关联好 new ItemTouchHelper(onCallback).attachToRecyclerView(recyViewId);

3.我们通过拿到这些实现方法中的数据来做相应的操作,具体情况根据想做的效果来实现

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值