相关疑难解决方法(0)

setPivotX在缩放视图上工作奇怪

我发现setPivotX(也setPivotY)在Android中很奇怪.如果在视图的比例设置为1.00时设置了枢轴,则不会发生任何事情(只是枢轴更改).但是如果比例不等于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);
}
}
Run Code Online (Sandbox Code Playgroud)

如何在枢轴更改之前设置视图的相同位置?

android pivot view scale

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

pivot ×1

scale ×1

view ×1