Как сделать так , чтобы мое изображение не выходило за границы экрана при движении и зуме картинки

public boolean onTouchEvent(MotionEvent event) {
    scaleGestureDetector.onTouchEvent(event);
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN: {
            final float x = event.getX();
            final float y = event.getY();
            lastTouchX = x;
            lastTouchY = y;
            activePointerID = event.getPointerId(0);
            break;
        }
        case MotionEvent.ACTION_MOVE: {

            final int pointerIndex = event.findPointerIndex(activePointerID);
            final float x = event.getX(pointerIndex);
            final float y = event.getY(pointerIndex);
            final float drawableX = getDrawable().getIntrinsicWidth();
            final float imageX = getWidth();
            final float drawableY = getDrawable().getIntrinsicHeight();
            final float imageY = getHeight();
            final float dx = x - lastTouchX;
            final float dy = y - lastTouchY;
            Log.d(TAG, "drawableX: " + drawableX + " imageX: " + imageX);
            if (!scaleGestureDetector.isInProgress()
            && drawableX + dx > imageX
            && drawableY + dy > imageY
            ) {
                mPosX += dx;
                mPosY += dy;

                invalidate();
                Log.d(TAG, "Move");
            }
            lastTouchX = x;
            lastTouchY = y;
            break;
        }

Ответы (0 шт):