Scrollistener隐藏显示监听

2016-03-10  本文已影响21人  天之大任

public abstract class HidingScrollListener extends RecyclerView.OnScrollListener {

 private static final int HIDE_THRESHOLD = 20;

 private int scrolledDistance = 0;

 private boolean controlsVisible = true;

 @Override

 public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

   super.onScrolled(recyclerView, dx, dy);

   if (scrolledDistance > HIDE_THRESHOLD && controlsVisible) {

       onHide();

       controlsVisible = false;

       scrolledDistance = 0;

   } else if (scrolledDistance < -HIDE_THRESHOLD && !controlsVisible) {

       onShow();

       controlsVisible = true;

       scrolledDistance = 0;

   }

   if((controlsVisible && dy>0) || (!controlsVisible && dy<0)) {

       scrolledDistance += dy;

   }

 }

 public abstract void onHide();

 public abstract void onShow();

上一篇 下一篇

猜你喜欢

热点阅读