使用Kotlin实现实现炫酷卡片布局

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181121B0S22H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券