Respuesta háptica
En este artículo se describe cómo puedes usar la interfaz de interfaz IHapticFeedback de .NET Multi-platform App UI(.NET MAUI)para controlar las respuestas hápticas en un dispositivo. Las respuestas hápticas se manifiestan generalmente por una sensación suave de vibración proporcionada por el dispositivo para dar una respuesta al usuario. Algunos ejemplos de respuestas hápticas son cuando un usuario escribe en un teclado virtual o cuando juega un juego donde el personaje del jugador tiene un encuentro con un personaje enemigo.
La implementación predeterminada de la interfaz IHapticFeedback
está disponible a través de la propiedad HapticFeedback.Default. Tanto la interfaz IHapticFeedback
como la clase HapticFeedback
están contenidas en el espacio de nombres Microsoft.Maui.Devices
.
Introducción
Para acceder a la función de respuesta háptica, se requiere la siguiente configuración específica para la plataforma.
El permiso Vibrate
es necesario y se debe configurar en el proyecto Android. Se puede agregar de las siguientes maneras:
Agrega el permiso basado en ensamblados:
Abre el archivo Platforms/Android/MainApplication.cs y agrega los siguientes atributos de ensamblado después de las directivas
using
:[assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]
- o -
Actualiza el manifiesto de Android:
Abre el archivo Platforms/Android/AndroidManifest.xml y agrega esto en el nodo
manifest
:<uses-permission android:name="android.permission.VIBRATE" />
- o -
Actualiza el manifiesto de Android en el editor de manifiestos:
En Visual Studio, haz doble clic en el archivo Platforms/Android/AndroidManifest.xml para abrir el editor de manifiestos de Android. A continuación, en Permisos necesarios, comprueba el permiso VIBRATE. Esto actualizará automáticamente el archivo AndroidManifest.xml.
Uso de la respuesta háptica
La función de respuesta háptica se realiza en dos modos: Click corta o LongPress. En el ejemplo de código siguiente se inicia una respuesta de respuestas hápticas Click
o LongPress
al usuario en función de en qué Button hace clic:
private void HapticShortButton_Clicked(object sender, EventArgs e) =>
HapticFeedback.Default.Perform(HapticFeedbackType.Click);
private void HapticLongButton_Clicked(object sender, EventArgs e) =>
HapticFeedback.Default.Perform(HapticFeedbackType.LongPress);