Java Android Pinch/视图上的双指旋转

Java Android Pinch/视图上的双指旋转,java,android,Java,Android,在iPhone上,我就是这么做的(而且它工作完美): view.transform=CGAffineTransformRotate(transform,[(UIRotationGestureRecognitor*)识别器旋转] 我当然希望在Android方面做更多的工作(和往常一样)。我注意到Android没有两个手指旋转手势检测器。有没有想过我该如何实施这种行为 这是我用于夹点秤探测器的: private class ScaleListener extends ScaleGestureDete

在iPhone上,我就是这么做的(而且它工作完美):

view.transform=CGAffineTransformRotate(transform,[(UIRotationGestureRecognitor*)识别器旋转]

我当然希望在Android方面做更多的工作(和往常一样)。我注意到Android没有两个手指旋转手势检测器。有没有想过我该如何实施这种行为

这是我用于夹点秤探测器的:

private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
    @Override
    public boolean onScale(ScaleGestureDetector detector) {
        mScaleFactor *= detector.getScaleFactor();

        // Don't let the object get too small or too large.
        mScaleFactor = Math.max(0.1f, Math.min(mScaleFactor, 5.0f));

        invalidate();
        return true;
    }
}

开箱即用的Android没有旋转手势检测器

但是,您可以做的是从两点触摸事件计算旋转。只需确定旋转的支点(2个触摸点的中心点或其中一个触摸点),并确定第一个触摸事件和第n个触摸事件之间的角度增量。然后可以使用rotate()方法将给定画布旋转该数量

事实上,为其编写自己的“手势检测器”可能非常容易。

在这里,您可以找到一个(未经测试的)实现