ViewPager コンポーネントがあり、フラグメント内に WebView コンポーネントがあり、ユーザーが画面上でタップしたことを検出したいと同時に、ユーザーはスワイプすることもできます。
現在、ViewPager で onTouchListener を次のように設定しています。
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
oldX = event.getX();
break;
case MotionEvent.ACTION_UP:
newX = event.getX();
if (Math.abs(oldX - newX) < sens) {
tap();
return true;
}
oldX = 0;
newX = 0;
break;
}
return false;
}
});
リスナーは、左右にスワイプしたときにのみトリガーされ、上下にスワイプするとトリガーされないことがわかりました。WebView コンポーネントをスワイプしていますが、スクロールが必要な長いコンテンツがあります。