Масштаб холста переходит в точку (0,0)

У меня проблема с масштабированием холста. Я сделал настраиваемое представление, в котором я рисую диаграммы отношений, теперь, когда я уменьшаю масштаб холста, он переходит в положение (0,0). Я видел различные темы и вопросы, но не смог найти подходящего ответа.

Что я делаю в методе onDraw.

  canvas.scale(mScaleFactor, mScaleFactor);

Я также видел метод canvas.scale(x, y, px, py), но я не знаю, как получить точки поворота x и y.

public boolean onScale(ScaleGestureDetector detector) {

mScaleFactor *= detector.getScaleFactor();
// Don't let the object get too small or too large.
mScaleFactor = Math.max(0.4f, Math.min(mScaleFactor, 5.0f));
if(mScaleFactor>=1)
   mScaleFactor=1f; 

invalidate();
return true;

}

5
задан meagar 17 July 2012 в 03:56
поделиться