一、环境
- 安卓系统:4.2
- 操作系统:Win 8.1
- 工具: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);
}
}