gpt4 book ai didi

java - View 中的 Android 捏合/双指旋转

转载 作者:搜寻专家 更新时间:2023-11-01 09:11:12 28 4
gpt4 key购买 nike

在 iPhone 上我只是这样做(而且它完美地工作):

view.transform = CGAffineTransformRotate(transform, [(UIRotationGestureRecognizer *)recognizer rotation]);

我当然期待在 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() 方法将给定的 Canvas 旋转该数量。

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

关于java - View 中的 Android 捏合/双指旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221946/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com