Поворот View android studio
подскажите как можно поворачивать TextView двумя пальцами. На данный момент я использую следующее:
private fun rotation(event: MotionEvent): Float {
textClick = false
val delta_x = (event.getX(0) - event.getX(1)).toDouble()
val delta_y = (event.getY(0) - event.getY(1)).toDouble()
val radians = Math.atan2(delta_y, delta_x)
return Math.toDegrees(radians).toFloat()
}
MotionEvent.ACTION_POINTER_DOWN -> {
oldDist = spacing(event)
if (oldDist > 10f) {
midPoint(mid, event)
mode = ZOOM
}
lastEvent = FloatArray(4)
lastEvent!![0] = event.getX(0)
lastEvent!![1] = event.getX(1)
lastEvent!![2] = event.getY(0)
lastEvent!![3] = event.getY(1)
d = rotation(event)
}
MotionEvent.ACTION_MOVE -> if (!isOutSide) {
if (lastEvent != null) {
newRot = rotation(event)
//Log.d("myLog", "newRot=" + (newRot - d))
view.rotation += newRot - d
Log.d("myLog", "newRot=" + view.rotation)
}
}
}
Проблема заключается в том, что он каждый раз прибавляет значение, полученное из функции rotation. Таким образом если долго вращать текст, получается большой угол: Log - 2021-10-23 16:32:41.926 3439-3439/com.example.myapplication D/myLog: newRot=1783.1229 А мне нужно получать угол от -180 до 180 или в приделах 360 градусов. Заранее спасибо.