Как мы можем имитировать длительное нажатие на событие касания? или как мы можем рассчитать время касания экрана, все в состоянии ACTION_DOWN?Имитация Длительное нажатие прикосновением событий
ответ
я реализовал сенсорный экран долго нажмите наконец, ТНХ все:
textView.setOnTouchListener(new View.OnTouchListener() {
private static final int MIN_CLICK_DURATION = 1000;
private long startClickTime;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
longClickActive = false;
break;
case MotionEvent.ACTION_DOWN:
if (longClickActive == false) {
longClickActive = true;
startClickTime = Calendar.getInstance().getTimeInMillis();
}
break;
case MotionEvent.ACTION_MOVE:
if (longClickActive == true) {
long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime;
if (clickDuration >= MIN_CLICK_DURATION) {
Toast.makeText(MainActivity.this, "LONG PRESSED!",Toast.LENGTH_SHORT).show();
longClickActive = false;
}
}
break;
}
return true;
}
});
, в котором private boolean longClickActive = false;
является переменной класса.
Для расчета подсчитывать касания вы можете получить getPointerCount() Вашего мероприятия, как here
и Лонг-клик возможно this помогает
Редактировать: и надеюсь this link поможет вам определить получение длительности касания
Мне нужно время, чтобы не считать чувака. –
Возможно, я не мог понять вас хорошо, поэтому надеюсь, что отредактированный ответ и прикрепленная ссылка помогут вам больше, удачи –
Это был не совсем мой ответ, но вдохновил меня использованием булевых флагов. thx: D –
Вы должны подсчитать время между событиями ACTION_DOWN и ACTION_UP. Это невозможно вычислить этот раз только в ACTOIN_DOWN состоянии, потому что это START событие последовательности событий, представляющих TAP события LONG TAP
Thx, я сделал это с помощью ACTION_DOWN и ACTION_MOVE. –
Попробуйте это. Вам не нужно искать взломать это.
final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
public void onLongPress(MotionEvent e) {
Log.e("", "Longpress detected");
}
});
public boolean onTouchEvent(MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
break;
}
return true;
}
};
- 1. Короткое нажатие и длительное нажатие на обработку
- 2. Длительное нажатие в UIWebView
- 3. Можно ли различать длительное нажатие и нажатие на кнопку?
- 4. Android EditText Длительное нажатие Поведение
- 5. Android: EditText: длительное нажатие меню
- 6. Как реализовать длительное нажатие UIButton
- 7. Кнопка Android Home Длительное нажатие
- 8. Длительное нажатие для показа слайдов
- 9. Длительное нажатие UIButton с фиксированным пальцем
- 10. Имитация событий мыши? C#
- 11. Имитация событий аппаратного ключа в хроме
- 12. Как поймать кнопку питания Длительное нажатие?
- 13. Длительное и короткое нажатие на UIBUTTON
- 14. Предотвращение Android «длительное нажатие» для сохранения изображений
- 15. Длительное нажатие & Tap распознаватель для нескольких UIButtons
- 16. Длительное нажатие на кнопку питания от UiAutomator
- 17. Как сделать «длительное нажатие» на кнопку?
- 18. Appuim - Длительное нажатие и скриншот одновременно
- 19. Длительное нажатие Увеличить с помощью ограничений Ограничение
- 20. Short/Длительное нажатие на элемент в ListView
- 21. Как перехватить длительное нажатие на UITextView?
- 22. Имитация событий клавиатуры в Android
- 23. Имитация touchstart и touchhend событий?
- 24. Имитация Нажатие клавиши ввода с помощью jQuery
- 25. Создание (имитация) событий поддельной мыши в Qt
- 26. Имитация событий случайных ключей в Java
- 27. Имитация событий сенсорного экрана на Android
- 28. Имитация длинного нажатия клавиши в python
- 29. нажатие событий на несколько профилей
- 30. избегать/предел длительное нажатие дает повторяющиеся символы через JS
Спасибо, что привело к решению для меня. – ctapp1
проблема в длинном отводе ждет ACTION_MOVE, который иногда не вызывается, но длинный кран должен быть захвачен –