美文网首页
Scrollistener隐藏显示监听

Scrollistener隐藏显示监听

作者: 天之大任 | 来源:发表于2016-03-10 08:39 被阅读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();

相关文章

网友评论

      本文标题:Scrollistener隐藏显示监听

      本文链接:https://www.haomeiwen.com/subject/zzrtlttx.html