触觉反馈

浏览示例。 浏览示例

本文介绍如何使用 .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。 以下代码示例将触发 ClickLongPress 触觉反馈反应,具体取决于用户单击的 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 线程上执行触觉反馈功能。