Android admite un evento en LongPress. La pregunta que tengo es '¿cuánto tiempo' (en milisegundos) es la 'prensa' para activar el evento?¿Cuánto dura el evento onLongPress en Android?
Respuesta
El tiempo de prensado prolongado estándar es el que devuelve getLongPressTimeout(), que actualmente es de 500ms pero puede cambiar (en 1.0 fue de 1000ms pero se modificó en una versión posterior, tal vez en el futuro será personalizable por el usuario).
El navegador usa su propio tiempo de prensado prolongado porque tiene interacciones más complicadas. Creo que esto debería ser 1000, aunque nuevamente puede cambiar en el futuro. No agrega los diferentes tiempos de espera juntos.
Puede usar el método getLongPressTimeout
en android.view.ViewConfiguration
para determinar este valor mediante programación.
Consulte the docs para más detalles.
Hmmm ... Esperaba obtener el tiempo acumulativo. Por lo que puedo decir, getLongPressTimeout(), ¿es el tiempo de componente que se agrega cuando se determina que event-press es inicio, más TAP_TIMEOUT, más ??? y luego 1000ms si está en el navegador web.
He calculado que es 1650ms pero me gustaría tener alguna confirmación del valor resultante. La razón es que necesito algo que no esté integrado con el SDK para predecir la retención prolongada.
Creo que el valor de getLongPressTimeout es de 500ms, pero el gesto claramente lleva más tiempo, más cerca de 2 segundos.
Ver (y, por lo tanto, la mayoría de sus subclases) utiliza getLongPressTimeout. Quizás el tiempo de espera predeterminado no fue suficiente en el navegador.
Generalmente, like Roman Nurik mentioned, puede usar ViewConfiguration.getLongPressTimeout() para obtener programáticamente valor de valor de pulsación larga. El valor predeterminado es 500ms.
/**
* Defines the default duration in milliseconds before a press turns into
* a long press
*/
private static final int DEFAULT_LONG_PRESS_TIMEOUT = 500;
Pero, la duración de la pulsación larga se puede personalizar globalmente al configurarla en accesibilidad. Los valores son Corto (400 ms), Medio (1000 ms) o Largo (1500 ms). Se puede ver su código fuente en Settings:
// Long press timeout.
mSelectLongPressTimeoutPreference =
(ListPreference) findPreference(SELECT_LONG_PRESS_TIMEOUT_PREFERENCE);
mSelectLongPressTimeoutPreference.setOnPreferenceChangeListener(this);
if (mLongPressTimeoutValueToTitleMap.size() == 0) {
String[] timeoutValues = getResources().getStringArray(
R.array.long_press_timeout_selector_values);
mLongPressTimeoutDefault = Integer.parseInt(timeoutValues[0]);
String[] timeoutTitles = getResources().getStringArray(
R.array.long_press_timeout_selector_titles);
final int timeoutValueCount = timeoutValues.length;
for (int i = 0; i < timeoutValueCount; i++) {
mLongPressTimeoutValueToTitleMap.put(timeoutValues[i], timeoutTitles[i]);
}
}
Esto es lo que parece a R.array.long_press_timeout_selector_titles:
<!-- Titles for the list of long press timeout options. -->
<string-array name="long_press_timeout_selector_titles">
<!-- A title for the option for short long-press timeout [CHAR LIMIT=25] -->
<item>Short</item>
<!-- A title for the option for medium long-press timeout [CHAR LIMIT=25] -->
<item>Medium</item>
<!-- A title for the option for long long-press timeout [CHAR LIMIT=25] -->
<item>Long</item>
</string-array>
<!-- Values for the list of long press timeout options. -->
<string-array name="long_press_timeout_selector_values" translatable="false">
<item>400</item>
<item>1000</item>
<item>1500</item>
</string-array>
- 1. ¿Cuánto dura el hash SHA256?
- 2. ¿Cuánto dura un giro único en ManualResetEventSlim
- 3. ¿Cuánto dura la URL de ImagesService.getServingUrl?
- 4. ¿Cuánto dura un 302 redireccionamiento guardado en el navegador?
- 5. ¿Cuánto dura la vida de S "..." en Forth?
- 6. Android: abrir un ContextMenu desde onLongPress en WebView personalizado
- 7. ¿Cuánto dura el almacenamiento en caché de Facebook de las miniaturas compartidas?
- 8. ¿cuánto tiempo dura el almacenamiento de la sesión en iPhone/iPad?
- 9. ¿Por qué android onLongPress siempre se activa después de onDoubleTap?
- 10. ¿Cuánto dura el retraso entre Control.Invoke() y la llamada de su delegado?
- 11. ¿Cuánto dura la animación de la transición entre vistas en un UINavigationController?
- 12. ¿Cuánto tiempo dura la cadena de fabricante de un dispositivo USB?
- 13. ¿Cómo le digo a gdb cuánto dura mi matriz de longitud cero?
- 14. En general, ¿cuánto tiempo dura el proceso de revisión de las aplicaciones de Windows Phone 7 Marketplace?
- 15. ¿Cuánto tiempo tomará construir el sistema operativo Android?
- 16. AutoCompleteTextView evento click en Android
- 17. Android cuánto tiempo estará nuestra actividad allí en la pila
- 18. ¿Cuánto duran las cookies de sesión en dispositivos Android/iOS?
- 19. El evento "touchmove" en el sistema android: Transformer Prime
- 20. Android: View.setClickable consume el evento click
- 21. Android ¿Cuánto espacio hay libre en la tarjeta SD?
- 22. cómo deshabilitar el evento táctil android
- 23. cuánto hace el destructor predeterminado
- 24. ¿Cuánto tiempo demora el conteo de instalaciones de Android en el mercado para actualizarse?
- 25. ¿Cómo funciona el objeto Aspose License? ¿Dura para siempre?
- 26. ¿Cómo convertir el taquigrafía de CSS a mano dura?
- 27. ¿Cuánto se utiliza PhoneGap?
- 28. ¿Desconexión 'dura' de websocket no aparente?
- 29. ¿Diferencia entre envoltura dura y envoltura suave?
- 30. cola completa, pierde evento en el emulador de Android
¿está seguro acerca de esto? Mi observación es 1650ms (1750ms para estar seguro con otra carga de proceso) en el navegador web. ¿Puedes ubicar algunas notas de laboratorio o documentos de Android? – mobibob
.. también, mirando el código fuente, el tiempo LARGO no inicia su medición de tiempo hasta que se detecta una pulsación corta. Es por eso que creo que es acumulativo a lo largo del estado. No estoy desafiando su declaración, solo estoy discutiendo para asegurarme de que la respuesta sea minuciosa y mi pregunta no sea malentendida. – mobibob
Desafortunadamente (para mí) esta es la única respuesta correcta a mi pregunta. Pero ... lo que realmente quería aprender era el tiempo desde el inicio de una retención hasta que el navegador muestra un cuadro de diálogo de "resolución". Estoy midiendo 1.650 segundos, así que quiero encontrar los 650ms que faltan. Voy a otorgar la respuesta a hackbod y agradecer a todos los demás por sus comentarios. – mobibob