返回顶部
首页 > 资讯 > 移动开发 >uniapp如何开启短震动、触感反馈实现
  • 134
分享到

uniapp如何开启短震动、触感反馈实现

uni-appiosiphone 2023-10-25 15:10:14 134人浏览 薄情痞子
摘要

使用 uni-app 开发一款 app,需求中有一项是点击 触感反馈,查阅了 uni-app 相关文档,发现并没有对应的 api,最开始尝试用“震动”的方式来模拟“触感反馈” , 但是感觉效果并不好,因为在iOS中并不支持短震动(15ms)

使用 uni-app 开发一款 app,需求中有一项是点击 触感反馈,查阅了 uni-app 相关文档,发现并没有对应的 api,最开始尝试用“震动”的方式来模拟“触感反馈” , 但是感觉效果并不好,因为在iOS中并不支持短震动(15ms), 只支持长震动(400ms)。在这里记录一下最后的处理方式。

uniapp官网文档

在文档中只找到了uni.vibrateShort的方法,来开启短震动。对应安卓效果还行,代码如下:

uni.vibrateShort({success: ()=>{console.log('success');}});

注意

  • ioS上只有长震动,没有短震动
  • iOS上需要手机设置“打开响铃时震动”或“静音时震动”,否则无法震动

IOS 开启触感反馈

iPhone 使用触感反馈需要手机支持并且在设置中打开,否则并不能触发。所以必须使用H5+的api方法,其核心代码如下:

let UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator')let impact = new UIImpactFeedbackGenerator()impact.prepare()impact.init(1)impact.impactOccurred()

在需要在需要触感反馈的地方,把这段代码复制进去即可!

代码封装

针对安卓和ios不同的实现,最终实现公用代码如下:

onFeedTap() {let platfORM=uni.getSystemInfoSync().platform// #ifdef APP-PLUSif (platform == "ios") {let UIImpactFeedbackGenerator = plus.ios.importClass('UIImpactFeedbackGenerator');let impact = new UIImpactFeedbackGenerator();impact.prepare();impact.init(1);impact.impactOccurred();}if (platform == "Android") {uni.vibrateShort();}// #endif},

来源地址:https://blog.csdn.net/z591102/article/details/128459180

--结束END--

本文标题: uniapp如何开启短震动、触感反馈实现

本文链接: https://www.lsjlt.com/news/442560.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作