Задать вопрос
Wiemo
@Wiemo

Смещение координаты Y при передаче из UI потока?

Проблема такая: есть поток, в котором проходит отрисовка круга.

В ui потоке (класс основной activity) вызывается метод onTouchEvent, берущий координаты x,y и передаёт их в поток рисования (прямым присвоением классу потока) в итоге по x всё нормально, а координата y оказывается смещена на некоторое значение, т.е. кружок появляется не под пальцем, а ниже. Или всё-таки нужно использовать Handler или AsyncTask, а не тупо присваивать
public boolean onTouchEvent(MotionEvent event) {
int X = (int) event.getX();
int Y = (int) event.getY();
myThread.xx=X;
myThread.yy=Y;
return true;
}
  • Вопрос задан
  • 3046 просмотров
Подписаться 2 Оценить 1 комментарий
Ответ пользователя palmut К ответам на вопрос (4)
palmut
@palmut
Попробуйте еще умножить getX() и getY() на getXPrecision() и getYPrecision() соответственно, поскольку эти функции возвращают the precision of the Y coordinates being reported. You can multiply this number with getY() to find the actual hardware value of the Y coordinate. (цитата из документации MotionEvent).
Ответ написан
Комментировать