Scrollistener隐藏显示监听

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();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容