标签:继承 数据 android scrollview
Android自带的ScrollView对于滑动监听接口没有开放,然而在许多时候记录ScrollView的滑动位置,实现这个功能比较简单,自己实现一个ObserveScrollView类来继承ScrollView,然后重写里面的onScrollChanged(int l, int t, int oldl, int oldt)方法,本方法就是ScrollView的滑动监听,接着声明一个接口,在重写的方法里利用接口回调,将滑动的数据传出去。
onScrollChanged(int l, int t, int oldl, int oldt)方法的4个参数,以屏幕的左上角为(0,0)点,l表示滑动后的x值,oldl表示滑动前的x位置,t表示滑动后的y值,oldt表示滑动前的y位置。
下面直接上代码:
public class ObserveScrollView extends ScrollView { private ScrollListener mListener; public static interface ScrollListener {//声明接口,用于传递数据 public void scrollOritention(int l, int t, int oldl, int oldt); } public ObserveScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); // TODO Auto-generated constructor stub } public ObserveScrollView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public ObserveScrollView(Context context) { super(context); // TODO Auto-generated constructor stub } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { // TODO Auto-generated method stub super.onScrollChanged(l, t, oldl, oldt); if (mListener != null) { mListener.scrollOritention(l, t, oldl, oldt); } } public void setScrollListener(ScrollListener l) { this.mListener = l; } }
scrollview.setScrollListener(new ScrollListener() { @Override public void scrollOritention(int l, int t, int oldl, int oldt) { // TODO Auto-generated method stub //滑动数据已经接收,在这里实现你的功能 } });
版权声明:本文为博主原创文章,未经博主允许不得转载。
自定义ScrollView,实现ScrollView滑动监听并记录滑动位置。
标签:继承 数据 android scrollview
原文地址:http://blog.csdn.net/u012527802/article/details/47320009