在装有 Android 4.0.4 的三星 Galaxy Note 10.1 上,当两根手指放在屏幕上时GestureDetector
不会触发(一根手指会触发)。OnGestureListener#onScroll
这在其他设备上运行良好。在我的应用程序中,我只想在至少涉及两个手指时启用滚动。
这是重现现象的视图实现:
public class MyView extends View {
GestureDetector scrollGestureDetector;
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
scrollGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onScroll(final MotionEvent e1, final MotionEvent e2, final float distanceX, final float distanceY) {
System.out.println("SCROLL " + distanceX + ", " + distanceY);
return true;
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
scrollGestureDetector.onTouchEvent(event);
return true;
}
}
这种行为是已知的/记录在案的/想要的吗?有已知的解决方法吗?