android ImageView单指旋转
我看了很多帖子,但都找不到答案。 我想用另一个位于根图像下方的小图像旋转根图像 当旋转开始工作时,但我第一次按下它时,由于math.tan()的原因,它跳到了45度,我想我有一个计算问题android ImageView单指旋转,android,rotation,Android,Rotation,我看了很多帖子,但都找不到答案。 我想用另一个位于根图像下方的小图像旋转根图像 当旋转开始工作时,但我第一次按下它时,由于math.tan()的原因,它跳到了45度,我想我有一个计算问题 rotateImage.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { final int action = Mot
rotateImage.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent event) {
final int action = MotionEventCompat.getActionMasked(event);
switch (action) {
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_DOWN:
rotateX = event.getRawX() - rotateImage.getWidth() / 2;
rotateY = event.getRawY() - rotateImage.getHeight() / 2;
break;
case MotionEvent.ACTION_MOVE:
float angle = (float) Math.toDegrees(Math.atan2(event.getRawY() - rotateY, event.getRawX() - rotateX));
if (angle < 0){
angle += 360;
}
mBinding.getRoot().setRotation(angle);
}
return true;
}
});
rotateImage.setOnTouchListener(新的OnTouchListener(){
@凌驾
公共布尔onTouch(视图、运动事件){
final int action=MotionEventCompat.getActionMasked(事件);
开关(动作){
case MotionEvent.ACTION\u UP:
打破
case MotionEvent.ACTION\u DOWN:
rotateX=event.getRawX()-rotateImage.getWidth()/2;
rotateY=event.getRawY()-rotateImage.getHeight()/2;
打破
case MotionEvent.ACTION\u移动:
浮点角度=(float)Math.toDegrees(Math.atan2(event.getRawY()-rotateY,event.getRawX()-rotateX));
如果(角度<0){
角度+=360;
}
mBinding.getRoot().setRotation(角度);
}
返回true;
}
});
请指教。我认为这个图书馆可以帮助你。
我认为这个图书馆对你有很大帮助。请看一看。很好的参考资料!!!谢谢发现了与答案类似的问题。这里有一个图书馆,可以满足你的需要。