Tôi đã xem nhiều bài đăng nhưng không thể tìm thấy câu trả lời. Tôi muốn xoay hình ảnh gốc bằng một hình ảnh nhỏ khác nằm ở phía dưới của hình ảnh gốc.android ImageView xoay một ngón tay
trong khi xoay vòng hoạt động nhưng lần đầu tiên tôi nhấn nó, nó nhảy đến 45 độ vì math.tan(), tôi nghĩ rằng tôi có vấn đề về tính toán.
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;
}
});
vui lòng tham khảo.
Tôi nghĩ thư viện này có thể giúp bạn rất nhiều https://github.com/kencheung4/android-StickerView Vui lòng xem. –
tham khảo tuyệt vời !!! cảm ơn! – joseRo
bạn được chào đón. nếu nó giải quyết được vấn đề bạn hãy chấp nhận câu trả lời. –