Я пытаюсь закодировать приложение, в котором я могу перемещать изображение только по определенному круговому пути.
@Override
public boolean onTouch(View view, MotionEvent event) {
float touchedX = 0;
float touchedY = 0;
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
break;
case MotionEvent.ACTION_MOVE:
touchedX = event.getX();
touchedY = event.getY();
float deltaX = touchedX-widthHalf;
float deltaY = touchedY-heightHalf;
double angle = Math.atan(deltaY/deltaX);
timeCircleButton.setX(widthHalf + ((float)(radius*(Math.cos(angle)))));
timeCircleButton.setY(heightHalf + ((float)(radius*(Math.sin(angle)))));
break;
}
return true;
}
Пока это мой onTouchListener. HeightHalf и WidthHalf являются Coord. центральной точки. Я думаю, что моя идея верна, но сейчас ImageView движется по части круга, а не по всему кругу, как я хочу.
Итак, мой вопрос: в чем моя вина?
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.