Android 4.0.4 を搭載した Samsung Galaxy Note 10.1 では、画面に 2 本の指を置いても は起動しGestureDetector
ません(1 本の指では起動します)。OnGestureListener#onScroll
これは他のデバイスでもうまく機能します。私のアプリケーションでは、少なくとも 2 本の指が関係している場合にのみスクロールを有効にしたいと考えています。
これは、現象を再現するビューの実装です。
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;
}
}
この動作は既知/文書化/要求されていますか? 既知の回避策はありますか?