android_ScrollView 监听滚动到某个位置的方法
来源:互联网 发布:淘宝怎么看总销售额 编辑:程序博客网 时间:2024/05/20 09:06
public class MyListenerScrollView extends PullToRefreshBase<ScrollView> { private OnScrollListener onScrollListener; public void setOnScrollListener(OnScrollListener onScrollListener){ this.onScrollListener = onScrollListener; } public MyListenerScrollView(Context context) { super(context); } public MyListenerScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public MyListenerScrollView(Context context, Mode mode) { super(context, mode); } public MyListenerScrollView(Context context, Mode mode, AnimationStyle style) { super(context, mode, style); } @Override public final Orientation getPullToRefreshScrollDirection() { return Orientation.VERTICAL; } @Override protected ScrollView createRefreshableView(Context context, AttributeSet attrs) { ScrollView scrollView; if (VERSION.SDK_INT >= VERSION_CODES.GINGERBREAD) { scrollView = new InternalScrollViewSDK9(context, attrs); } else { scrollView = new ScrollView(context, attrs); } scrollView.setId(R.id.scrollview); return scrollView; } @Override protected boolean isReadyForPullStart() { return mRefreshableView.getScrollY() == 0; } @Override protected boolean isReadyForPullEnd() { View scrollViewChild = mRefreshableView.getChildAt(0); if (null != scrollViewChild) { return mRefreshableView.getScrollY() >= (scrollViewChild.getHeight() - getHeight()); } return false; } @TargetApi(9) final class InternalScrollViewSDK9 extends ScrollView { public InternalScrollViewSDK9(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) { final boolean returnValue = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent); // Does all of the hard work... OverscrollHelper.overScrollBy(MyListenerScrollView.this, deltaX, scrollX, deltaY, scrollY, getScrollRange(), isTouchEvent); return returnValue; } /** * Taken from the AOSP ScrollView source */ private int getScrollRange() { int scrollRange = 0; if (getChildCount() > 0) { View child = getChildAt(0); scrollRange = Math.max(0, child.getHeight() - (getHeight() - getPaddingBottom() - getPaddingTop())); } return scrollRange; }<span style="white-space:pre"></span>/**
<span style="white-space:pre"></span>* 自己写一个接口 把 ScrollView 里面的这个监听的方法给暴漏出去
<span style="white-space:pre"></span>*/
@Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { onScrollListener.onScrollListener(MyListenerScrollView.this,l,t,oldl,oldt); super.onScrollChanged(l, t, oldl, oldt); } }}
ScrollView 本身没有 监听滚动到哪个位置的接口 但是你可以继承 ScrollView 自己实现一个接口 把ScrollView滚动的位置显示出来
0 0
- android_ScrollView 监听滚动到某个位置的方法
- ScrollView自动滚动到某个位置
- 让滚动条滚动到正好显示某个节点的位置
- 滚动条滚动到某个位置后显示动画
- vue 滚动条实现平滑滚动到某个位置
- GridView实现滚动到指定位置的方法
- UICollectionView 视图滚动到指定位置的方法
- js如何监听滚动条滚动事件,使得某个标签内容始终位于同一位置
- js如何监听滚动条滚动事件,使得某个标签内容始终位于同一位置
- jquery点击滚动条滑动到某个位置
- ListView如何滚动和恢复到某个位置
- js鼠标滚动到某个位置导航菜单显示
- 微信小程序滚动到某个位置改变效果
- jQuery实现将div中滚动条滚动到指定位置的方法
- Android_ScrollView
- 实现滚动条滚动到指定位置时,滑入显示某个元素
- UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置
- UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置
- Communicate BW and ECC
- ZZAndroid客户端性能优化----魅族资深工程师毫无保留奉献
- javascript学习记录
- htmlparser解析网站时服务器返回的文件编码和页面编码不一致问题
- adrci 问题打包
- android_ScrollView 监听滚动到某个位置的方法
- JAVA中的内省
- Block循环引用进行弱处理
- unity5之代码给fbx动作剪辑加事件
- forward和redirect区别
- android充当server服务器
- 硬件加速
- SAS ARIMA 模型
- Java张孝祥视频 学习笔记 代理