Android: масштабирование ImageView и элементов onDraw () - PullRequest
2 голосов
/ 25 января 2012

Все, я расширил ImageView для того, чтобы внедрить масштабирование пинча и масштабирования на изображении. Это делается путем изменения матрицы и применения ее к изображению. Теперь я также перезаписываю onDraw () для рисования примитивов (то есть прямоугольников и кругов). Я применил матрицу к холсту, и она, похоже, правильно обработала масштабирование, но единственная проблема заключается в том, что эта позиция не отображается на нарисованных объектах. Как мне перевести позиции нарисованных предметов, чтобы отразить новую шкалу?

1 Ответ

1 голос
/ 26 января 2012

Существует подход без матрицы, вы можете реализовать пинч и масштабирование непосредственно в методе onDraw. Проверьте это сообщение в блоге: http://android -developers.blogspot.com / 2010/06 / making-sense-of-multitouch.html

  @Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.save();
    canvas.translate(mPosX, mPosY);
    mIcon.draw(canvas);
    canvas.restore();
}
...