如何在 ios 上使用 expo React Native 获得半毫秒的振动?类似于在手机键盘上打字时收到的振动。 我似乎用这个
Vibration.vibrate([0, 0, 0, 30])
在 android 上得到了它,但它在 ios 上没有复制相同的
下面是代码
<TouchableOpacity onPress={() => Vibration.vibrate([0, 0, 0, 30])} style={{ marginTop: 100, alignItems: 'center' }}>
<Text style={{ fontSize: 20 }}>Vibrate</Text>
</TouchableOpacity>
react-native 中的振动是特定于平台的。
import { Vibration, Platform } from "react-native";
// vibrate is platform specific. default is 400ms
const vibrate = () => {
if (Platform.OS === "ios") {
// this logic works in android too. you could omit the else statement
const interval = setInterval(() => Vibration.vibrate(), 1000);
// it will vibrate for 5 seconds
setTimeout(() => clearInterval(interval), 5000);
} else {
Vibration.vibrate(5000);
}
};
然后将其用作回调:
<TouchableOpacity onPress={vibrate} style={{ marginTop: 100, alignItems: 'center' }}>
<Text style={{ fontSize: 20 }}>Vibrate</Text>
</TouchableOpacity>
react-native-haptic-feedback
在 iOS 上实现了这一点
正如 Medet Tleukabiluly 所提到的,这里是链接:https://github.com/junina-de/react-native-haptic-feedback/但不幸的是它对我来说在 Android 上不起作用。
这对我有用:
振动100ms
睡眠/50ms无振动
振动100ms
睡眠/100ms无振动
Vibration.vibrate([100, 50, 100, 100]);