2

onTouchEvent がメンバー ScaleGestureDetector にタッチ イベントを渡すコードがあり、スケール GD がスケール リスナーで onScaleEvent をトリガーする場合、表示項目を拡大します。onScale イベントがトリガーされない場合、このイベントを潜在的なドラッグとして扱い、表示されたアイテムを移動します。特定のデバイスでは、画面に指が 1 本触れただけでも、ScaleGestureDetector が onScale イベントをトリガーすることがわかりました。これは期待されていますか?スケールとドラッグを同時に処理するための推奨されるメカニズムは何ですか?

4

1 に答える 1

0

私が正しければ、mScaleGestureDetector.onTouchEvent(mEvent) を単一のポインター (mEvent.getPointersCount() == 1) でトリガーしています。これは、1 より大きいポインターでトリガーされることになっています。pointersCount > 1 でトリガーしていることを確認してください。

if(pointersCount >1) {
     TOUCH_GESTURE_MODE = GESTURE_MODE_SCALE;
     mScaleGestureDetector.onTouchEvent(mEvent);
     return true;
} 
于 2016-02-22T01:27:18.117 に答える