1
1

【Android】ドラッグしたViewを回転させる【Kotlin】

Posted at

はじめに

前回の 【Android】Viewをドラッグして移動させる【Kotlin】
こちらの記事に引き続き Viewを動かしながらそこに回転を加えていきます。
前回の記事の続きものになるので、まだみていない方は先に前回のものも見ていただけると分かりやくなると思います。

実践

Viewをドラッグし縦方向に動かしている間は回転(横方向は水平移動)、指を離したら元の元の位置、元の角度に戻るようにします。

MotionEvent.ACTION_MOVE -> {
省略・・・

+    // 回転 
+    val distanceX = firstPositionX - newPositionX
+    val distanceY = firstPositionY - newPositionY
+    val absX = abs(distanceX)
+    val absY = abs(distanceY)
+    val abs =
+        if (absX < absY) {
+            // 0はY軸の真ん中
+            if (0 < distanceY) {
+                -absY
+            } else {
+                absY
+            }
+        } else {
+            0
+        }
+    view.rotation = abs.toFloat()
}


MotionEvent.ACTION_UP -> {
省略・・・

+    view.rotation = 0f
}

Record_2024-02-04-16-45-42_24eefb17d38097f5d5d4a6b0b9783dd1.gif

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1