RecyclerViewSwipeDismiss

by xcodebuild

A very easy-to-use and non-intrusive implement of Swipe to dismiss for RecyclerView.

430 Stars 90 Forks Last release: about 4 years ago (v1.1.3) BSD 2-Clause "Simplified" License 35 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Android Arsenal BSD Jitpack Build Status

RecyclerViewSwipeDismiss

A very easy-to-use and non-intrusive implement of Swipe to dismiss for RecyclerView.

Preview

preview

How to use

  • Add these lines to your
    build.gradle
repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies { compile 'com.github.CodeFalling:RecyclerViewSwipeDismiss:v1.1.3' }

  • Build
    onTouchListener
    and bind it to your
    RecyclerView
SwipeDismissRecyclerViewTouchListener listener = new SwipeDismissRecyclerViewTouchListener.Builder(
        recyclerView,
        new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() {
            @Override
            public boolean canDismiss(int position) {
                return true;
            }

        @Override
        public void onDismiss(View view) {
            // Do what you want when dismiss

        }
    })
    .setIsVertical(false)
    .setItemTouchCallback(
            new SwipeDismissRecyclerViewTouchListener.OnItemTouchCallBack() {
                @Override
                public void onTouch(int index) {
                    // Do what you want when item be touched
                }
            })
    .setItemClickCallback(new SwipeDismissRecyclerViewTouchListener.OnItemClickCallBack() {
                @Override
                public void onClick(int position) {
                    // Do what you want when item be clicked                    }
            })
    .setBackgroundId(R.drawable.bg_item_normal, R.drawable.bg_item_selected)
    .create();

recyclerView.setOnTouchListener(listener);

More

  • setIsVertical(false)
    means allow swipe in horizontal direction
  • listener.setEnabled(false)
    can disable swipe to dismiss
  • onTouch
    will be called when MOUSE_UP on item without swipe
  • onClick
    will be called when ACTION_UP on item within 1 second and move no more than a fixed distance
  • By use

    setBackgroundId
    , you can set background id for item's normal and pressed state, just like the normal effect in RecyclerView

Sample

You can see sample code in

sample/MainActivity.java

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.