`
luckldforever
  • 浏览: 6434 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

自定义ScrollView

阅读更多
1.首先新建一个ScrollViewExtend类,继承自ScrollView
2.重写onInterceptTouchEvent(一旦返回ture,代表事件在当前的viewGroup中会被处 
  理,则向下传递之路被截断)
3.重写onScrollChanged(int l,int t,int oldl,int oldt)
       //computeVerticalScrollRang()方法是获取ScrollView中子布局的实际高度(可
         能超过屏幕的高度)
         t是代表ScrollView滑动停止之后距离顶部的距离,getHeight方法是获取ScrollV
         Iew的高度(不包括超出屏幕的高度)
         这样如果活动的距离再加上ScrollView的高度大于等于ScrollView中子布局的实
         际高度,说明ScrollView不能再滑动了,就停止了。
      if(t+getHeight() >= computeVerticalScrollRang()){
         //ScrollView滑动到底部了
      }
      if(t >= CommonUtils.getScreenHeight()*2){
         //ScrollView滑动了两个屏幕
      }
          有时候我们需要监听ScrollView的滑动情况,比如滑动了多少距离,是否滑倒布局
      的顶部或者底部。可惜的是SDK并没有相应的方法。不过倒是提供了上面这个方法,但
      是这个方法是不能被外界调用的,因此就需要把它暴露出去,方便使用。解决方式就是写
      一个接口。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics