美文网首页Android Other
Recyclerview轻松设置滑动拖拽Item

Recyclerview轻松设置滑动拖拽Item

作者: EasonDev | 来源:发表于2016-08-01 19:02 被阅读262次

    我基本都是写一些小而美的实用东西(我也写不了太高大上的东西--).今天这个一定可以让头疼这个功能的猿们再也不用害怕。从前在Listview的时代像拖动等改变item的效果都需要做各种回调及手势处理等。大部分人都选择去使用第三方库。而RecyclerView出现后很多动画手势效果都变的简单了许多。谷歌把很多常用的都进行的封闭和接口回调(扩展)。ok今天我们就开始进入正题。先上效果图

    item_swipe_move.gif

    Step1

    首先我们需要继承ItemTouchHelper.Callback在里面处理一些事件处理及设置

    • 这里复写这两个方法可以对事件做“开关”
    Paste_Image.png
    • 这里的设置就看图吧。不用解释了
    Paste_Image.png
    • 这里主要对拖动时的一些事件做处理 比如有两个viewType时不做任何效果处理及adapter数据处理等
    Paste_Image.png
    • 这里可以在对滑动、拖动及停顿时做一些绘制 这里我对侧滑时改变alpha
    Paste_Image.png

    Step2

    我们需要两个回调来通知事件处理

    Paste_Image.png

    Step3

    在adapter中实现onMoveAndSwipedListener

    Paste_Image.png

    Step4

    将我们自定义的Helper和RecyclerView进行关联即完成了简单的拖动及侧滑

    Paste_Image.png

    在效果图中 我们可以看到。点击右边的图标是也是可以拖动的。这是可以通过ItemTouchHelper.startDrag(ViewHolder)
    手动开启拖动。当然也有startSwipe(viewHolder)方法
    源码:https://github.com/EasonHolmes/RecyclerView_Swipe_Move

    相关文章

      网友评论

        本文标题:Recyclerview轻松设置滑动拖拽Item

        本文链接:https://www.haomeiwen.com/subject/mvoxsttx.html