本文介绍如何使用 .NET 多平台应用 UI (.NET MAUI) IHapticFeedback 接口来控制设备上的触觉反馈。 触觉反馈通常表现为由设备提供的温和振动感觉,以响应用户。 触觉反馈的一些示例是当用户在虚拟键盘上键入或玩游戏时,玩家的角色遇到敌方角色。
IHapticFeedback
接口的默认实现可通过 HapticFeedback.Default 属性获得。
IHapticFeedback
接口和 HapticFeedback
类都包含在 Microsoft.Maui.Devices
命名空间中。
入门
若要访问触觉反馈功能,需要以下特定于平台的设置。
Vibrate
权限是必需的,必须在 Android 项目中配置。 可通过以下方式添加此项:
添加基于程序集的权限:
打开 Platforms/Android/MainApplication.cs 文件,并在
using
指令后添加以下程序集属性:[assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]
-或-
更新 Android Manifest:
打开 平台/Android/AndroidManifest.xml 文件,并在
manifest
节点中添加以下内容:<uses-permission android:name="android.permission.VIBRATE" />
-或-
在清单编辑器中更新 Android 清单:
在 Visual Studio 中,双击 平台/Android/AndroidManifest.xml 文件以打开 Android 清单编辑器。 然后,在“所需权限”下,检查振动 权限。 这将自动更新 AndroidManifest.xml 文件。
使用触觉反馈
触觉反馈功能以两种模式进行:短暂模式 Click 或模式 LongPress。 以下代码示例将触发 Click
或 LongPress
触觉反馈反应,具体取决于用户单击的 Button。
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);
重要
在 Apple 平台上,必须在 UI 线程上执行触觉反馈功能。