我发现setPivotX
(也setPivotY
)在Android能怪。 如果设置了旋转时视图的比例设置为1.00F任何操作(转动只是改变)。 但如果规模不等于1.0F(如setScaleX(0.9f)
和你相对(?)的新支点设置枢轴视图移动。 这不是很奇怪吗? 我知道,水平和垂直位置(翻译)是不相关的枢纽价值,但为什么观与比例因子移动以外1.0F?
请使用和不使用缩放部检查了这一点。
public class ScaleView extends View {
private final ScaleGestureDetector mScaleGestureDetector;
public ScaleView(Context context, AttributeSet attrs) {
super(context, attrs);
//setScaleX(0.9f);
//setScaleY(0.9f);
mScaleGestureDetector = new ScaleGestureDetector(context, new ScaleGestureDetector.OnScaleGestureListener() {
@Override
public void onScaleEnd(ScaleGestureDetector detector) {
// does nothing intentionally
}
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
setPivotX(detector.getFocusX());
setPivotY(detector.getFocusY());
return true;
}
@Override
public boolean onScale(ScaleGestureDetector detector) {
return false;
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
mScaleGestureDetector.onTouchEvent(event);
return super.onTouchEvent(event);
}
}
如何设置的观点,这是枢轴改变之前的相同位置?