Skip to content

Instantly share code, notes, and snippets.

@mzgreen
Created February 28, 2015 08:10
Show Gist options
  • Save mzgreen/95f93c615456c1d72104 to your computer and use it in GitHub Desktop.
Save mzgreen/95f93c615456c1d72104 to your computer and use it in GitHub Desktop.
HidingScrollListener class without snapping
public abstract class HidingScrollListener extends RecyclerView.OnScrollListener {
private int mToolbarOffset = 0;
private int mToolbarHeight;
public HidingScrollListener(Context context) {
mToolbarHeight = Utils.getToolbarHeight(context);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
clipToolbarOffset();
onMoved(mToolbarOffset);
if((mToolbarOffset <mToolbarHeight && dy>0) || (mToolbarOffset >0 && dy<0)) {
mToolbarOffset += dy;
}
}
private void clipToolbarOffset() {
if(mToolbarOffset > mToolbarHeight) {
mToolbarOffset = mToolbarHeight;
} else if(mToolbarOffset < 0) {
mToolbarOffset = 0;
}
}
public abstract void onMoved(int distance);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment