8.7 发布—WinterCG 兼容性第 1 部分
了解更多

在 GitHub 上查看

@nativescript/haptics

一个允许您在应用中添加触觉反馈的插件。

播放触觉反馈可以让人们感受到触觉,并将他们对现实世界的熟悉感带入您的应用或游戏中。~ 开发者文档

感谢 Eddy Verbruggen 提供了 nativescript-taptic-engine,它通过简化 API 并添加 Android 支持来不断发展,灵感来自 react-native-haptic-feedback

内容

安装

CLI
npm install @nativescript/haptics

使用 @nativescript/haptics

在 StackBlitz 上找到 @nativescript/haptics 用法的示例 这里

API

该插件提供以下 API。

isSupported()

ts
isHapticsSupported: boolean = Haptics.isSupported()

检查设备是否支持触觉反馈。


is6SAnd6SPlusSupported()

ts
isHapticsSupported: boolean = Haptics.is6SAnd6SPlusSupported()

检查 iOS 上是否支持触觉反馈。


selection()

ts
import { Haptics } from '@nativescript/haptics'

Haptics.selection()

notification()

ts
import { Haptics, HapticNotificationType } from '@nativescript/haptics'

Haptics.notification(HapticNotificationType.ERROR)

使用通知反馈生成器来指示成功、失败和警告。

其他触觉通知类型是

  • SUCCESS(默认)
  • WARNING

impact()

js
import { Haptics, HapticImpactType } from '@nativescript/haptics'

Haptics.impact(HapticImpactType.HEAVY)

使用冲击反馈生成器来指示冲击的发生。例如,当用户界面对象与某个物体发生碰撞或卡入到位时,您可能会触发冲击反馈。

有 3 种冲击类型

  • LIGHT
  • MEDIUM(默认)
  • HEAVY.

HapticsFallback

要使用触觉反馈备用方案,请检查是否支持

ts
if (!Haptics.isSupported() && Haptics.is6SAnd6SPlusSupported()) {
  // use HapticsFallback
}

注意 这使用的是一个未公开的功能,可能会导致您的应用在 Apple 审查时被拒绝。 虽然有些人已经使用了这种方法,但没有遇到问题

weakBoom()

这会触发与“Peek & Pop”中的“Peek”相同的效果,这是一个非常短暂的振动。

ts
import { HapticsFallback } from '@nativescript/haptics'

HapticsFallback.weakBoom()

strongBoom()

ts
import { HapticsFallback } from '@nativescript/haptics'

HapticsFallback.strongBoom()

这会触发Peek & PopPop效果,比Peek效果更强烈。

burst()

ts
import { HapticsFallback } from '@nativescript/haptics'

HapticsFallback.burst()

这会触发您在用力按压没有操作的家庭图标时得到的“Nope”效果。它是一连串的 3 个“弱轰鸣”。

更新日志

  • 3.0.0 迁移到 @nativescript/haptics 并添加了 Android 支持。调整了命名约定。
  • 2.1.0 对代码进行了现代化,迁移到插件种子结构,并添加了 Vue 演示。
  • 2.0.0 添加了 iPhone 7 的官方 API。将旧的 API 迁移到 TapticEngineUnofficial.*。需要 Xcode 8 来构建。
  • 1.0.0 初始版本,仅限非官方 API。与任何 Xcode 版本兼容。

许可证

Apache 许可证 2.0 版