私には習慣がView
あり、オーバーライドしていますonTouchEvent(MotionEvent)
。マルチタッチの意味を理解するの記事で説明されているように、このビューでピンチズームを実装しました。私が抱えている問題は、このビューが最終的Gallery
にスクロールにタッチイベントを必要とするで使用されることです。Gallery
ビューが右/左に完全にスクロールしてfalseを返すタイミングを検出するロジックを追加しましたが、スクロールするにはフルMotionEvent
モーションが必要だと思います。これが私がfalseを返すところです:
case MotionEvent.ACTION_MOVE: {
final int pointerIndex = event.findPointerIndex( getActivePointerId() );
final float x = event.getX( pointerIndex );
final float y = event.getY( pointerIndex );
// Only move if the ScaleGestureDetector isn't processing a gesture.
if ( !getScaleDetector().isInProgress() ) {
if ( isDetectMovementX() ) {
final float dx = x - getLastTouchX();
setPosX( getPosX() + dx );
}
if ( isDetectMovementY() ) {
final float dy = y - getLastTouchY();
setPosY( getPosY() + dy );
}
invalidate();
}
setLastTouchX( x );
setLastTouchY( y );
if ( isAtXBound() ) {
return false;
}
break;
}
View
ズームして変換しますが、スクロールすることGallery
はありません。基本的に、最初のアクションがでMotionEvent
ある「フレッシュ」としてを再送する方法があるかどうか疑問に思います。ありがとう!MotionEvent
ACTION_DOWN