Какой длины событие onLongPress в Android?

Android поддерживает событие onLongPress. Вопрос, который я имею, состоит в том, 'сколько времени' (в миллисекундах) 'нажатие' должно инициировать событие?

41
задан mobibob 18 December 2009 в 21:54
поделиться

4 ответа

Стандартное длительное время нажатия - это время, которое возвращается функцией getLongPressTimeout(), которое в настоящее время составляет 500 мс, но может измениться (в 1.0 оно было 1000 мс, но изменено в более поздней версии; возможно, в будущем оно будет настраиваться пользователем).

Браузер использует свое собственное длительное время нажатия, так как у него есть более сложные взаимодействия. Я считаю, что это должно быть 1000, хотя в будущем это может измениться. Он не складывает различные таймауты вместе.

42
ответ дан 27 November 2019 в 00:42
поделиться

Вы можете использовать метод getLongPressTimeout в android.view.ViewConfiguration для программного определения этого значения.

Подробнее см. в документации .

19
ответ дан 27 November 2019 в 00:42
поделиться

Хммм ... Я надеялся узнать общее время. Насколько я могу судить, getLongPressTimeout () - это время компонента, которое добавляется к моменту начала нажатия события, плюс TAP_TIMEOUT, плюс ??? а затем 1000 мс, если в веб-браузере.

Я вычислил, что это 1650 мс, но я хотел бы получить некоторое подтверждение результирующего значения . Причина в том, что мне нужно что-то, что не интегрировано с SDK для прогнозирования длительного удержания.

Я считаю, что значение getLongPressTimeout составляет 500 мс, но жест явно занимает больше времени - ближе к 2 секундам.

1
ответ дан 27 November 2019 в 00:42
поделиться

View (и, следовательно, большинство его подклассов) использует getLongPressTimeout. Возможно, в браузере было недостаточно тайм-аута по умолчанию.

0
ответ дан 27 November 2019 в 00:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: