hpi*_*que 2 android scrollview
你是如何使用onOverScrolled的ScrollView?
protected void onOverScrolled (int scrollX, int scrollY, boolean clampedX, boolean clampedY)
Run Code Online (Sandbox Code Playgroud)
在clampedX与clampedY布尔办告诉我,如果反弹时发生,但滚动值无话可说多少反弹时(他们总是0,或最大滚动).他们有什么意义?
此外,它一直被调用.我预计只有当其中一个钳位值为真时才会调用它.
我已经将ScrollView子类化为提供更有用的onOverScrolled.它看起来像这样:
public interface OnOverScrolledListener {
void onOverScrolled(android.widget.ScrollView scrollView,
int deltaX, int deltaY, boolean clampedX, boolean clampedY);
}
private OnOverScrolledListener mOnOverScrolledListener;
private int mOverScrollByDeltaX;
private int mOverScrollByDeltaY;
@Override protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent) {
this.mOverScrollByDeltaX = deltaX;
this.mOverScrollByDeltaY = deltaY;
final boolean result = super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, maxOverScrollY, isTouchEvent);
return result;
};
@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) {
super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);
if (mOnOverScrolledListener != null && (clampedX || clampedY)) {
mOnOverScrolledListener.onOverScrolled(this, mOverScrollByDeltaX, mOverScrollByDeltaY, clampedX, clampedY);
}
}
public OnOverScrolledListener getOnOverScrolledListener() {
return mOnOverScrolledListener;
}
public void setOnOverScrolledListener(OnOverScrolledListener onOverScrolledListener) {
this.mOnOverScrolledListener = onOverScrolledListener;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3561 次 |
| 最近记录: |