android itemtouchhelper-extension 仿微信删除

来源:互联网 发布:kettle 删除表数据 编辑:程序博客网 时间:2024/05/16 05:57
项目地址:itemtouchhelper-extension

简介:Extension for itemtouchhelper with swipe settling,recover and no conflict with recyclerview

This library add something for swipe item settling, recover base on the Itemtouchhelper.

This used in the repo code-reader

Download Smaple

Screenshot

item swipe with spring



Installation

dependencies {    compile 'com.loopeer.library:itemtouchhelperextension:1.0.0'}

Usages

mCallback = new ItemTouchHelperCallback();mItemTouchHelper = new ItemTouchHelperExtension(mCallback);mItemTouchHelper.attachToRecyclerView(mRecyclerView);

ItemTouchHelperCallback just set as Itemtouchhelper. Set your swipe content view translationX by moving in method onChildDraw

public class ItemTouchHelperCallback extends ItemTouchHelperExtension.Callback {    @Override    public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {        return makeMovementFlags(0, ItemTouchHelper.START);    }    @Override    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {        return false;    }    ...    @Override    public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {        MainRecyclerAdapter.ItemBaseViewHolder holder = (MainRecyclerAdapter.ItemBaseViewHolder) viewHolder;        holder.mViewContent.setTranslationX(dX);    }}

At last you can let your viewholder implements Extension to set swipe settling width

@Overridepublic float getActionWidth() {    return mActionContainer.getWidth();}

This will use whole recyclerview width when you do not add the width


0 0
原创粉丝点击