У меня есть изображение и оно находится в imageView. Я хочу добавить функцию, которая позволяет пользователям вращать изображение, если они пытаются повернуть его вправо. Например, если пользователь пытается повернуть его влево, оно не вращается.
Это моя вертушка.
Я пытался использовать GestureDetector и событие onFling, но мне было недостаточно определить, пытается ли пользователь повернуть его вправо или влево. Как я могу это сделать ?
Редактировать:
var normalVectorX = e2?.x!! - 515
var normalVectorY = e2?.y!! - 515
var tangentVectorX = -normalVectorY
var tangentVectorY = normalVectorX
var tangentVectorLength = (Math.sqrt(Math.pow((515 - e2?.y!!).toDouble(), 2.0)) + Math.pow((e2?.x!! - 515).toDouble(), 2.0))
var unitTangentX = tangentVectorX / tangentVectorLength
var unitTangentY = tangentVectorY / tangentVectorLength
var scalarProjection = (velocityX * unitTangentX) + (velocityY * unitTangentY)
if (scalarProjection > 0) // Right Side
spinWheel((spinCountX * 360).toFloat() + 360 - (mPrizeIndex * 60) , 12000)
Это реализация кода, основанная на псевдокоде ответа. 515 = центр колеса.