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

maven {
    url ""


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

- Build `onTouchListener` and bind it to your `RecyclerView`


SwipeDismissRecyclerViewTouchListener listener = new SwipeDismissRecyclerViewTouchListener.Builder(
        new SwipeDismissRecyclerViewTouchListener.DismissCallbacks() {
            public boolean canDismiss(int position) {
                return true;

            public void onDismiss(View view) {
                // Do what you want when dismiss
                new SwipeDismissRecyclerViewTouchListener.OnItemTouchCallBack() {
                    public void onTouch(int index) {
                    	// Do what you want when item be touched
        .setItemClickCallback(new SwipeDismissRecyclerViewTouchListener.OnItemClickCallBack() {
                    public void onClick(int position) {
                        // Do what you want when item be clicked                    }
        .setBackgroundId(R.drawable.bg_item_normal, R.drawable.bg_item_selected)


  • 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