跳到主要内容
版本:v4

@capacitor/haptics

Haptics API 通过触觉或振动为用户提供物理反馈。

在不支持 Taptic Engine 或振动马达的设备上,API 调用会正常返回但不会执行任何操作。

安装

npm install @capacitor/haptics
npx cap sync

示例

import { Haptics, ImpactStyle } from '@capacitor/haptics';

const hapticsImpactMedium = async () => {
await Haptics.impact({ style: ImpactStyle.Medium });
};

const hapticsImpactLight = async () => {
await Haptics.impact({ style: ImpactStyle.Light });
};

const hapticsVibrate = async () => {
await Haptics.vibrate();
};

const hapticsSelectionStart = async () => {
await Haptics.selectionStart();
};

const hapticsSelectionChanged = async () => {
await Haptics.selectionChanged();
};

const hapticsSelectionEnd = async () => {
await Haptics.selectionEnd();
};

API

impact(...)

impact(options?: ImpactOptions | undefined) => Promise<void>

触发触觉"碰撞"反馈

参数类型
options
ImpactOptions

自版本: 1.0.0


notification(...)

notification(options?: NotificationOptions | undefined) => Promise<void>

触发触觉"通知"反馈

参数类型
options
NotificationOptions

自版本: 1.0.0


vibrate(...)

vibrate(options?: VibrateOptions | undefined) => Promise<void>

使设备振动

参数类型
options
VibrateOptions

自版本: 1.0.0


selectionStart()

selectionStart() => Promise<void>

触发选择开始的触觉提示

自版本: 1.0.0


selectionChanged()

selectionChanged() => Promise<void>

触发选择变化的触觉提示。如果选择已经开始,这将使设备提供触觉反馈

自版本: 1.0.0


selectionEnd()

selectionEnd() => Promise<void>

如果已调用 selectionStart(),selectionEnd() 将结束选择。 例如,当用户手指离开控件时调用此方法

自版本: 1.0.0


Interfaces

ImpactOptions

属性类型描述默认值自版本
style
ImpactStyle
碰撞反馈样式。模拟 UIImpactFeedbackGenerator 对象碰撞中物体的质量。ImpactStyle.Heavy1.0.0

NotificationOptions

属性类型描述默认值自版本
type
NotificationType
通知反馈类型。由 UINotificationFeedbackGenerator 对象生成的通知反馈类型。NotificationType.SUCCESS1.0.0

VibrateOptions

属性类型描述默认值自版本
durationnumber振动持续时间(毫秒)。3001.0.0

Enums类型

ImpactStyle

成员描述自版本
Heavy'HEAVY'大型、重型UI元素之间的碰撞效果1.0.0
Medium'MEDIUM'中等大小UI元素之间的碰撞效果1.0.0
Light'LIGHT'小型、轻型UI元素之间的碰撞效果1.0.0

NotificationType

成员描述自版本
Success'SUCCESS'表示任务成功完成的通知反馈类型1.0.0
Warning'WARNING'表示任务产生警告的通知反馈类型1.0.0
Error'ERROR'表示任务失败的通知反馈类型1.0.0