Android プログラマーの皆さん、こんにちは。
VerticalScrollView に HorizontalScrollView があります。
UX チームは、画面をすばやく切り替えるために「フリング」のようなアクションを追加することにしました。水平スクロールをスクロールしようとすると、Fling が発生します。
フォーカスが水平スクロールにあるときにフリングを防ぐ方法はありますか?
ありがとう
Ps、Fling Detector のコード:
class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent event) {
return true;
}
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) {
// Log.d(DEBUG_TAG, "onFling: " + event1.toString() +
// event2.toString());
int dx = (int) (event2.getX() - event1.getX());
// don't accept the fling if it's too short
// as it may conflict with a button push
if (Math.abs(dx) > 250 && Math.abs(velocityX) > Math.abs(velocityY)) {
if (velocityX > 0) {
swipeLeft();
} else {
if (isMenuShowing) {
return false;
} else {
swipeRight();
}
}
return true;
} else {
return false;
}
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (super.dispatchTouchEvent(ev)) {
return true;
}
return mDetector.onTouchEvent(ev);
}