Android поддерживает событие onLongPress. Вопрос, который я имею, состоит в том, 'сколько времени' (в миллисекундах) 'нажатие' должно инициировать событие?
Стандартное длительное время нажатия - это время, которое возвращается функцией getLongPressTimeout(), которое в настоящее время составляет 500 мс, но может измениться (в 1.0 оно было 1000 мс, но изменено в более поздней версии; возможно, в будущем оно будет настраиваться пользователем).
Браузер использует свое собственное длительное время нажатия, так как у него есть более сложные взаимодействия. Я считаю, что это должно быть 1000, хотя в будущем это может измениться. Он не складывает различные таймауты вместе.
Вы можете использовать метод getLongPressTimeout
в android.view.ViewConfiguration
для программного определения этого значения.
Подробнее см. в документации .
Хммм ... Я надеялся узнать общее время. Насколько я могу судить, getLongPressTimeout () - это время компонента, которое добавляется к моменту начала нажатия события, плюс TAP_TIMEOUT, плюс ??? а затем 1000 мс, если в веб-браузере.
Я вычислил, что это 1650 мс, но я хотел бы получить некоторое подтверждение результирующего значения . Причина в том, что мне нужно что-то, что не интегрировано с SDK для прогнозирования длительного удержания.
Я считаю, что значение getLongPressTimeout составляет 500 мс, но жест явно занимает больше времени - ближе к 2 секундам.
View (и, следовательно, большинство его подклассов) использует getLongPressTimeout. Возможно, в браузере было недостаточно тайм-аута по умолчанию.