Например, я перемещаю палец по экрану, а затем резервное копирование. Таким образом, это должно считаться двумя перетаскиваниями, последним движением до того, как я приостановился на долю секунды, и после этого, когда я вернулся. Я в основном рассчитываю каждый раз, когда я делаю новое движение, не отрывая палец от экрана. Итак, как мне получить последнее движение, прежде чем я прекращу движение, не поднимая палец?android как получить последнее движение
Я использую событие движения. Вот код в action_move:
case MotionEvent.ACTION_MOVE:
posY = event.getY();
posX = event.getX();
diffPosY = posY - oldY;
diffPosX = posX - oldX;
if (checkMovement(posY, oldY)){
if (diffPosY > 0 || diffPosY < 0){
count +=1;
}
}
public boolean checkMovement(float posY, float oldY) {
int newY = Math.round(posY);
double distance = Math.abs(newY - oldY);
oldY = newY;
if (distance < 25)
return false;
return true;
}
Спасибо, но когда я двигаться вверх и вниз, почему она насчитывает более двух ходов, например, 10 или 14 или более? – Kaal
см. Мой ответ на вопрос –
Спасибо за ответ, было бы хорошо, если бы вы объяснили код с комментариями - от «mLastMovY = 0» вперед, пожалуйста? – Kaal