Android中的ScrollView其實是很簡陋的,竟然沒有和ListView一樣的可以設置一個OnScrollListener,不過沒有關系,我們可以繼承自ScrollView來自定義一個。廢話不多說,直接上代碼:
public ObservableScrollView(Context context) {
super(context);
}
public ObservableScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ObservableScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public interface OnScrollChangedListener {
public void onScrollChanged(int x, int y, int oldX, int oldY);
}
private OnScrollChangedListener onScrollChangedListener;
public void setOnScrollListener(OnScrollChangedListener onScrollChangedListener) {
this.onScrollChangedListener = onScrollChangedListener;
}
@Override
protected void onScrollChanged(int x, int y, int oldX, int oldY) {
super.onScrollChanged(x, y, oldX, oldY);
if (onScrollChangedListener != null) {
onScrollChangedListener.onScrollChanged(x, y, oldX, oldY);
}
}
}
新聞熱點
疑難解答
圖片精選