Skip to content

Instantly share code, notes, and snippets.

@rogerhu
Last active November 18, 2021 13:49
Show Gist options
  • Save rogerhu/9e769149f9550c0a6ddb4987b94caee8 to your computer and use it in GitHub Desktop.
Save rogerhu/9e769149f9550c0a6ddb4987b94caee8 to your computer and use it in GitHub Desktop.
import android.support.v7.widget.RecyclerView;
public class RecyclerViewSwipeListener extends RecyclerView.OnFlingListener {
private static final int SWIPE_VELOCITY_THRESHOLD = 2000;
boolean mIsScrollingVertically;
// change swipe listener depending on whether we are scanning items horizontally or vertically
RecyclerViewSwipeListener(boolean vertical) {
mIsScrollingVertically = vertical;
}
@Override
public boolean onFling(int velocityX, int velocityY) {
if (mIsScrollingVertically && Math.abs(velocityY) > SWIPE_VELOCITY_THRESHOLD) {
if (velocityY < 0) {
onSwipeDown();
} else {
onSwipeUp();
}
return true;
} else if (!mIsScrollingVertically && Math.abs(velocityX) > SWIPE_VELOCITY_THRESHOLD) {
if (velocityX < 0) {
onSwipeLeft();
} else {
onSwipeRight();
}
return true;
}
return false;
}
public void onSwipeRight() {
}
public void onSwipeLeft() {
}
public void onSwipeUp() {
}
public void onSwipeDown() {
}
}
@cyrus88
Copy link

cyrus88 commented Apr 9, 2018

Swipe up and down works. But swipe left right didn't even work for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment