Diseño de UX táctil

El mapeo de constantes de HAL-API que se introdujo en Map constants between HAL and API se basa en principios de diseño de UX altamente recomendados. Los principios de diseño de UX definen la base de cómo, cuándo y qué usar cuando se usan las APIs de tecnología táctil de Android. Consulta Advanced Haptics: The When, What, and How of New Haptic APIs para obtener más información sobre estos principios fundamentales.

Asignación constante

Figura 1: Mapeo de constantes de HAL-API: Modelo discreto

Selecciona efectos táctiles

Por intensidad táctil (VibrationEffect)

EFFECT_CLICK es el mejor lugar para comenzar cuando determinas tus preferencias de intensidad táctil (VibrationEffect): es la mediana entre la tecnología táctil "ligera" de EFFECT_TICK y la "pesada" de EFFECT_HEAVY_CLICK. Si comienzas con EFFECT_CLICK, puedes aumentar o disminuir la energía conceptual agregando intensidad con EFFECT_HEAVY_CLICK o disminuir la intensidad con EFFECT_TICK. Ten en cuenta que EFFECT_DOUBLE_CLICK ofrece la energía conceptual más alta porque se repite.

Intensidad de la respuesta táctil

Figura 2: Configuración de intensidad táctil

Por eventos de entrada y elementos de la IU (HapticFeedbackConstants)

Si tu objetivo está asociado con eventos de entrada específicos (como mantener presionado o deslizar) o elementos de la IU (como el teclado), busca constantes táctiles predefinidas en HapticFeedbackConstants. El nombre de cada constante hace referencia a casos de uso específicos, como KEYBOARD_PRESS o LONG_PRESS.

Simula eventos de presión de botones del mundo real

La respuesta táctil de los eventos de entrada (botones virtuales) puede simular presiones de botones con entidades físicas (como botones mecánicos).

Evento de entrada: Flujo de interacción por pares

El evento de clic está diseñado para simular el comportamiento de un botón mecánico, que se presiona y luego se suelta. La energía percibida del impulso mecánico de una presión de botón es mayor que la de una liberación de botón. Por lo tanto, la respuesta táctil para las presiones de botones es más fuerte que la respuesta táctil para las liberaciones de botones.

Hápticos de prensa y liberación de eventos

Figura 3: Efectos táctiles por evento de entrada binario

Intensidad táctil: La asequibilidad de la presión de botones

Los eventos de entrada con una participación más corta y ligera se asocian con hápticos más ligeros. Los eventos de entrada con una participación más larga y profunda se asocian con hápticos más fuertes.

Tecnología háptica de presión

Figura 4: Efectos táctiles por asequibilidad

Simula la textura virtual en el evento de entrada de gestos

La entrada basada en gestos (como el desplazamiento o el desplazamiento) se puede alinear con texturas táctiles virtuales mientras el dedo se mueve en la pantalla junto con las IUs visuales, por ejemplo, generando respuestas táctiles repetidas mientras un dedo se mueve por la IU del reloj con elementos de IU de marca de verificación virtual.

Los efectos para las texturas táctiles virtuales deben repetirse. Esto suele hacer que la energía percibida sea más alta que la amplitud (cuando el efecto se llama sin repetición o solo una vez). Por este motivo, las constantes táctiles diseñadas para texturas táctiles virtuales (como CLOCK_TICK o TEXT_HANDLE_MOVE) deben ser sutiles para proporcionar la sensación de movimiento a través de indicadores repetidos.

Textura virtual

Figura 5: Efectos táctiles para simular la textura virtual

Incluye opiniones

Para incluir sentimiento positivo o negativo en los efectos de tecnología táctil, aplica una sensación más fuerte al sentimiento negativo para captar la atención del usuario.

Opinión táctil

Figura 6: Efectos táctiles con opiniones

Evita el ruido audible de la vibración larga

Para evitar el ruido audible de la vibración larga para la tecnología táctil de atención, acelera el patrón sin problemas para crear un efecto de aumento. Para ello, usa createWaveform(long[] timings, int[] amplitudes, int repeat).

Vibración larga

Figura 7: Efecto de aumento de vibración larga