当前位置:首页 > uni-app

uniapp 触感反馈

2026-02-06 01:03:19uni-app

触感反馈的实现方式

在UniApp中实现触感反馈(Haptic Feedback)可以通过调用原生API或使用第三方插件。以下为具体方法:

使用uni.vibrateShort和uni.vibrateLong UniApp提供了内置的振动API,适用于iOS和Android平台:

uniapp 触感反馈

// 短振动(15ms)
uni.vibrateShort({
  success: function() { console.log('触发短振动') }
});

// 长振动(400ms)
uni.vibrateLong({
  success: function() { console.log('触发长振动') }
});

自定义振动模式(仅Android) 通过修改manifest.json文件配置振动时长:

uniapp 触感反馈

"android": {
  "permissions": ["android.permission.VIBRATE"],
  "config": {
    "vibrateDuration": 100 // 自定义振动毫秒数
  }
}

使用H5的Vibration API(仅部分浏览器支持) 在Web端可通过Navigator接口实现:

if (navigator.vibrate) {
  navigator.vibrate(200); // 振动200ms
}

平台差异说明

  • iOS:仅支持短/长两种固定振动模式,实际效果取决于设备硬件
  • Android:支持自定义振动时长,但需要声明振动权限
  • 小程序:基础库2.6.0+支持,部分安卓机型可能有兼容性问题
  • H5:兼容性较差,需检测API支持情况

最佳实践建议

  1. 重要操作反馈使用长振动(如支付成功)
  2. 普通交互使用短振动(如按钮点击)
  3. onLoad生命周期中检测API可用性:
    try {
    uni.vibrateShort();
    } catch (e) {
    console.warn('振动功能不可用');
    }

扩展方案

对于需要复杂振动模式的场景,可考虑:

  • 使用Native.js调用原生代码
  • 集成cordova-plugin-vibration等第三方插件
  • 通过条件编译实现多平台差异化处理

注意:过度使用振动可能影响用户体验,建议在设置中提供关闭选项。

标签: 触感反馈
分享给朋友:

相关文章

vue 实现反馈页面

vue 实现反馈页面

实现反馈页面的基本结构 使用 Vue.js 创建一个反馈页面需要设计表单组件,包含输入框、下拉选择、评分控件等元素。以下是一个基础模板: <template> <div cla…