缩放任意点周围的视图

时间:2016-10-01 14:55:57

标签: android zooming

如何围绕固定(焦点)点进行缩放?即在缩放时焦点应保持在相同位置。我使用以下代码:

   public void scaleAroundPoint(float scale,float focusX,float focusY) {
     float oldX=focusX/this.getScaleX();
     float oldY=focusY/this.getScaleY();
     float oldScale=this.getScaleX();
     this.setScaleX(scale);
     this.setScaleY(scale);
     float newX=focusX/this.getScaleX();
     float newY=focusY/this.getScaleY();
     float dx=oldX-newX;
     float dy=oldY-newY;
     this.setX(this.getX()-dx);
     this.setY(this.getY()-dy);
}

但它导致焦点不是我在focusX,focusY

中传递的点

PS: setPivotX,setPivotY方法不适合我,因为我也同时使用缩放执行双轴滚动,所以它最好是枢轴点保持在0,0

0 个答案:

没有答案