私の Android アプリでは、線形レイアウトを使用しています。その中に、複数行のテキストビューを含むスクロールビューがあります。
左から右にフリックしてスクロールビューを次のページにスクロールする機能を追加するために GestureListener を追加しようとしましたが、GestureListener がフリップ アクションをキャプチャできないことがわかりました。
上記の動作をどのように実装できますか? ありがとう
私の Android アプリでは、線形レイアウトを使用しています。その中に、複数行のテキストビューを含むスクロールビューがあります。
左から右にフリックしてスクロールビューを次のページにスクロールする機能を追加するために GestureListener を追加しようとしましたが、GestureListener がフリップ アクションをキャプチャできないことがわかりました。
上記の動作をどのように実装できますか? ありがとう
代わりにを使用する必要がありOnTouchListener
ます。それほど良くはありませんが、機能します。ここに私が以前に行ったものがあります:
scrollView.setOnTouchListener(new OnTouchListener() {
private float mDownX;
private float mDownY;
private boolean mDown = false;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mDownX = event.getX();
mDownY = event.getY();
mDown = true;
return false;
case MotionEvent.ACTION_MOVE:
if (!mDown) {
mDownX = event.getX();
mDownY = event.getY();
mDown = true;
}
return false;
case MotionEvent.ACTION_UP:
if (!mDown)
return false;
mDown = false;
float upX = event.getX();
float upY = event.getY();
if (Math.abs(upY - mDownY) > SWIPE_MAX_OFF_PATH
|| Math.abs(upX - mDownX) < SWIPE_MIN_DISTANCE)
return false;
int position1 = position;
if (upX > mDownX)
// left to right swipe
else
// right to left swipe
return false;
default:
return false;
}
}
});