在线文档教程
React native

Vibration

Vibration

振动API暴露于Vibration.vibrate()。振动是异步的,所以此方法将立即返回。

对不支持振动的设备没有影响,例如。模拟器。

Android注意事项:添加<uses-permission android:name="android.permission.VIBRATE"/>到AndroidManifest.xml

由于iOS中振动持续时间不可配置,因此与Android有一些差异。在Android中,如果pattern是数字,则指定振动持续时间(以毫秒为单位)。如果pattern是一个阵列,那些奇数指数是振动持续时间,而偶数指数是分离时间。

在iOS中,调用vibrate(duration)只会忽略持续时间并在固定时间内振动。虽然pattern阵列被用来定义每个振动之间的持续时间。请参阅下面的示例了解更多

也支持可重复的振动,振动将以定义的模式重复,直到cancel()被调用。

例:

const DURATION = 10000 const PATTERN = [1000, 2000, 3000] Vibration.vibrate(DURATION) // Android: vibrate for 10s // iOS: duration is not configurable, vibrate for fixed time (about 500ms) Vibration.vibrate(PATTERN) // Android: wait 1s -> vibrate 2s -> wait 3s // iOS: wait 1s -> vibrate -> wait 2s -> vibrate -> wait 3s -> vibrate Vibration.vibrate(PATTERN, true) // Android: wait 1s -> vibrate 2s -> wait 3s -> wait 1s -> vibrate 2s -> wait 3s -> ... // iOS: wait 1s -> vibrate -> wait 2s -> vibrate -> wait 3s -> vibrate -> wait 1s -> vibrate -> wait 2s -> vibrate -> wait 3s -> vibrate -> ... Vibration.cancel() // Android: vibration stopped // iOS: vibration stopped

方法

static vibrate(pattern:number,Array <number>,repeat:boolean)

触发指定的振动pattern

参数:

名称和类型描述
patternnumber | 阵列<编号>振动模式,接受一个数字或一组数字。默认为400ms。
repeatboolean可选的。重复振动模式,直到cancel(),默认为false。

static cancel()

停止振动

Vibration.cancel()