Поворот 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 градусов. Заранее спасибо.


Ответы (0 шт):