У меня есть класс Java, который относится к слушателям мыши, которые я хочу преобразовать в свое приложение для Android, но не могу найти необходимые события.
В моем приложении Java используются следующие методы:
- mouseClicked
- mousePressed
- mouseReleased
Я хочу сделать что-то подобное, но не с событиями щелчка, а с событиями касания. Я наткнулся на OnTouchListener
и сделал переопределение метода onTouch
.
Какие есть альтернативы mousePressed
и mouseReleased
?
Редактировать - (обновляется после ответа Петра)
Правильны ли следующие события:
- ACTION_DOWN: щелчок мышью
- ACTION_MOVE: мышь нажата
- ACTION_UP: mouseReleased
EDIT - 2 Пример источника
На данный момент у моей активности нет OnTouchListener
, потому что я надеялся, что смогу сохранить всю сенсорную логику в своем виде.
Вид:
/*Inside my View - Is it proper to do onTouch logic here?
Or should I be doing this from the Activity?*/
public class myView {
public boolean onTouch(MotionEvent event) {
switch(event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
//draw arrow when screen is simply touched
break;
case MotionEvent.ACTION_MOVE:
//Do Logic
break;
case MotionEvent.ACTION_UP:
//Do Logic
break;
}
}
}
Причина, по которой я выполняю логику в своем View, заключается в том, что у меня есть некоторые переменные, которые я хотел бы получить напрямую, а не создавать несколько дополнительных методов get.
Могу ли я сделать это так? Или мне придется переопределить метод onTouch в моей деятельности и выполнить там логику?