如何在滚动事件上旋转视图?

时间:2018-06-18 05:21:52

标签: android

我想用手指在屏幕和手指上移动相同的量来旋转ImageView。 我正在使用

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)

GestureDetector.SimpleOnGestureListener

我正在使用毕达哥拉斯定理检测距离量。

float rotationAmount = (float) Math.sqrt(distanceX * distanceX + distanceY * distanceY);

然后将视图旋转此数量,如

imageView.setRotation(imageView.getRotation() + rotationAmount);

这几乎可以正常工作,但顺时针和逆时针手势顺时针旋转视图。

1 个答案:

答案 0 :(得分:1)

如果您想顺时针/逆时针旋转,请根据手势使用imageView.setRotation(imageView.getRotation() + rotationAmount);imageView.setRotation(imageView.getRotation() - rotationAmount);