您的位置:首页 > 其它

ScrollView的滑动监听

2016-03-21 10:38 323 查看
/**
* 想要咋实际使用中监听ScrollView的滑动状态
* 系统其实在api23提供了一个setOnScrollListener方法来监听view的滑动,只是不能向下兼容,
* public void setOnScrollChangeListener(OnScrollChangeListener l) {
*      getListenerInfo().mOnScrollChangeListener = l;
*  }
*
* 所以,暂时无法使用,只能利用它自身的onScrollChanged来做文章了,自已实现一个吧
*/
public class ObservableScrollView extends ScrollView {

private OnScrollChangeListener scrollViewListener = null;

public ObservableScrollView(Context context) {
super(context);
}

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

public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public void setScrollViewListener(OnScrollChangeListener onScrollChangeListener) {
this.scrollViewListener = onScrollChangeListener;
}

@Override
protected void onScrollChanged(int x, int y, int oldx, int oldy) {
super.onScrollChanged(x, y, oldx, oldy);
if (scrollViewListener != null) {
scrollViewListener.onScrollChanged(this, x, y, oldx, oldy);
}
}

public interface OnScrollChangeListener {

void onScrollChanged(ObservableScrollView scrollView, int x, int y, int oldx, int oldy);

}
}

这样就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: