在我的 android 应用程序中,我有一个线性布局。在其中,有一个包含多行文本视图的滚动视图。
我尝试添加一个 GestureListener 以添加从左到右滑动以将滚动视图滚动到下一页的功能,但我发现 GestureListener 无法捕获翻转动作。
如何实现上述行为?谢谢
在我的 android 应用程序中,我有一个线性布局。在其中,有一个包含多行文本视图的滚动视图。
我尝试添加一个 GestureListener 以添加从左到右滑动以将滚动视图滚动到下一页的功能,但我发现 GestureListener 无法捕获翻转动作。
如何实现上述行为?谢谢
您必须改用 an 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;
}
}
});