Android自定义View - ScrollView实时获取滚动距离

一、环境

  1. 安卓系统:4.2
  2. 操作系统:Win 8.1
  3. 工具:Android Studio

二、自定义 ScrollView

ScrollView 里有一个 onScrollChange 方法,滚动的时候会调用,但它是 protected 权限,所以不能调用,需要重写

public class MyScrollView extends ScrollView {    
        private OnScrollListener onScrollListener;    
        private int scrollY;    

        public MyScrollView(Context context) {        
            this(context, null);    
        }    
    
        public MyScrollView(Context context, AttributeSet attrs) {        
            this(context, attrs, 0);    
        }    

        public MyScrollView(Context context, AttributeSet attrs, int defStyle) {        
            super(context, attrs, defStyle);    
        }    

        /**     
          * 设置滚动接口     
          * @param onScrollListener     
          */    
        public void setOnScrollListener(OnScrollListener onScrollListener) {        
            this.onScrollListener = onScrollListener;    
        }    

        @Override    
        protected void onScrollChanged(int l, int t, int oldl, int oldt) {        
            super.onScrollChanged(l, t, oldl, oldt);        
            scrollY = getScrollY();        
            if (onScrollListener != null) {            
                onScrollListener.onScroll(scrollY);        
            }    
        }    

        public interface OnScrollListener{        
            /**         
              * 回调方法, 返回MyScrollView滑动的Y方向距离         
              * @param scrollY            、         
              */        
            public void onScroll(int scrollY);    
        }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,216评论 25 709
  • 我和女朋友吵架了,吵得很凶,砸了各种东西,看来这次是无可挽回,非分手不可了…… 然后我醒了,舒了一口气——还好是场...
    漫漫寻阅读 1,631评论 1 5
  • 我有一个叫无忧的小闺女。。。 宝贝上幼儿园的第一天。。。时光飞逝 喝咖啡的时候宝贝坐我对面玩吸管,于是剩下的咖啡就...
    无忧mama阅读 1,826评论 0 0
  • 编程题(1)(1/1 分数) 创建一个简单的表示矩形的Rectangle类,满足以下条件:1、定义两个成员变量he...
    qratosone阅读 4,268评论 0 0
  • 如何建立一个ajax###
    种谔阅读 2,895评论 0 3