1
我正在尋找一種實現連續縮放的方式。連續我的意思是我想放大到一個位置並從那裏放大到另一個位置等等。就像在瀏覽器中一樣。Android:如何實現連續縮放功能
到目前爲止,我的意見只能夠一次性縮放並在下一次之前重置。
首先我計算手指和中間點之間的距離。
public boolean onTouchEvent(MotionEvent event) {
if(mode == ZOOM) {
float newDist = spacing(event);
scale = newDist/oldDist;
midPoint(midPoint, event);
invalidate();
}
該方法invalidate調用onDraw,我告訴矩陣做縮放。
protected void onDraw(Canvas canvas) {
matrix = canvas.getMatrix();
matrix.postScale(scale, scale, midPoint.x, midPoint.y);
canvas.setMatrix(matrix);
// drawing code
}
有沒有更好的積累aproach?
不,我不想有動畫。我的問題是關於觸摸事件。縮放以一個觸摸手勢停止,應該繼續下一個不同的點,但繼續使用最後一個縮放級別,就像在PDF查看器中一樣。 – strangeoptics