Я создал свой собственный класс с сенсорными событиями для перемещения и увеличения изображения (холста) для галереи.
У меня проблема в том, что картинка движется всегда, даже вне экрана. Правым поведением является то, что левая граница рисунка должна находиться на границе левого экрана или слева от нее ... и то же самое с остальными границами ...
Я пытаюсь установить максимальное и минимальное значения mPosY и mPosX, но это сложно и сложно, потому что, когда изображение меньше экрана, оно должно быть в центре ...
Есть идеи? вот часть кода:
public class TouchView extends View {
...
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.translate(mPosX, mPosY);
mScaleFactor = Math.max( mScaleFactor, minScaleFactor);
canvas.scale(mScaleFactor, mScaleFactor, pivotX, pivotY);
mIcon.draw(canvas);
canvas.restore();
}
...
}
Спасибо:)