使用Kotlin实现自定义 LayoutManager + ItemTouchHelper 实现炫酷卡片布局
很久没有写博客了,最近看到了一个比较好的卡片效果,自己就使用Kotlin来实现这个效果练练手
效果如下:
卡片效果
分析:
使用RecyclerView的自定义 LayoutManager + ItemTouchHelper 实现效果
步骤:
1、自定义LayoutManager,处理卡片的层叠显示效果
2、使用ItemTouchHelper实现任何方向的拖动效果,并在拖动回调中处理数据
自定义LayoutManager只需要实现两个方法:generateDefaultLayoutParams()和onLayoutChildren(),代码中注释写的很清楚了,下面就直接上代码
generateDefaultLayoutParams()的套路基本一样
onLayoutChildren()
走到这里不出意外就能运行出一下效果了
卡片界面
ItemTouchHelper.CallBack的关键代码
滑动回调onSwiped()
卡片动效
其实走到这里离成功就很近了,可以看出这里的动画效果比较生硬,所以下面再实现一个反向的动画即可
实现反向动画,动画绘制子view,onChildDraw()
好了,基本完工了,具体代码移步github:
https://github.com/93Laer/SwipeCardLayoutManagerDemo
ABOUT US
开发 · 干货 · 生活
带你了解IT世界的根源
投稿/合作wechat:yx1994119
领取专属 10元无门槛券
私享最新 技术干货