在反应本机可触摸视图上启用触觉反馈

2024-02-15

我正在编写一个反应本机应用程序,我注意到虽然按钮在单击时看起来像本机按钮 - 但它们的行为并不像一个按钮(至少不像 Android 按钮的行为)。

单击 Android 应用程序按钮 - 发出声音并向用户提供触觉反馈。 在声音中,我看到有 github 讨论和开放问题,但我找不到任何有关触觉反馈的信息。

如何使我的视图(任何可触摸的视图..)在点击时产生触觉反馈? 这在应用程序中是非常重要的感觉。

我想要这样的东西(在android中)

View view = findViewById(...)
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);

这不需要应用程序拥有以下权限Vibrate.

并通过我自己管理触觉反馈Vibrateapi 将导致全局禁用此选项的用户遇到不良行为

Thanks


如果您将Expo与react-native一起使用,我建议您使用世博会触觉 https://docs.expo.io/versions/latest/sdk/haptics/

安装库后,您可以像这样使用它:

<TouchableOpacity onPress = { ()=> { 
     Haptics.notificationAsync(Haptics.NotificationFeedbackType.Success)
     or
     Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light) 
     or
     Haptics.selectionAsync()
   
 } } > </TouchableOpacity>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在反应本机可触摸视图上启用触觉反馈 的相关文章

随机推荐

  • 如何在PostgreSQL中使用jsonPath修改字段?

    如何在 PostgreSQL 中使用 jsonPath 修改字段 如 SQL Server JSON MODIFY https learn microsoft com en us sql t sql functions json modif
  • Android AVD - AVD 的模拟器进程已终止

    我在 StackOverflow 上进行了搜索 发现了许多类似的问题和许多不同的答案 但没有一个对我有用 所以 最后几天我一直很好地使用 Android Studio 的模拟器 直到我尝试添加一个新的虚拟设备谷歌播放API 当我尝试运行它时
  • Visual Studio 中大型解决方案中最喜欢的项目

    如果有人问这个问题 我深表歉意 我找不到比赛 我有一个解决方案 96 个项目 我一次和 3 4 个人一起工作 有没有办法过滤掉 标记为收藏等我当前感兴趣的项目 由于项目是按字母顺序排序的 而且我的一个项目从 B 开始 另一个从 T 开始 所
  • 如何在浏览页面时在浏览器地址栏中添加图片?

    复制 网站 URL 旁边的图像图标 https stackoverflow com questions 120420 image icon beside the site url 当前让网站图标在所有支持网站图标的浏览器中显示的最佳方法是什
  • ASP.NET Core 存储过程无法在循环中工作

    我想使用存储过程进行数据库查询 它适用于单个查询 但在循环中 它像第一个循环迭代一样执行 var getAutoResults new List
  • 按位运算。该代码安全且可移植吗?

    我需要计算表示为的位集之间的汉明距离char数组 这是一个核心操作 因此必须尽可能快 我有这样的事情 const int N 32 32 always returns the number of bits that are ones in
  • 在 Java 中强制虚假唤醒

    这个问题不是关于虚假唤醒是否真的发生 因为这已经在这里进行了详细讨论 Java 中的虚假唤醒真的会发生吗 https stackoverflow com questions 1050592 do spurious wakeups actua
  • 使用定义的宽度、长度和像素位置裁剪视频文件

    我试图创建一个程序来检测视频中的脸部 在我接受 面子 之前 必须满足一些要求 满足所有要求后 我想要拍摄容纳该 脸部 的框架并裁剪它们以使脸部成为焦点区域 该程序将遍历每一帧并执行此操作 然后获取新视频并将其制作成视频文件 我从未使用过视频
  • 如何对包含特定单词的行进行列排序

    我只想对包含特定单词的行的特定列进行排序 我不想看到不包含该单词的行 例如我有这个文本文件 sdf ggfds 7 sdf sgs 5 sdf dfgs 3 foo dffg 2 bar dffg 2 sdf sddfg 4 我想对仅包含
  • 使用 Intl.DateTimeFormat 和 en-US 区域设置,Safari 中的日期显示相差一

    Safari 的 Int DateTimeFormat 实现似乎假定 3 月的第二个星期日始终是 DST 时间截止点 这是不正确的 因为在 2007 年之前它是 4 月的第一个星期日 当 DST 结束时 这似乎也会影响另一端 PS 此代码正
  • 为什么在大多数 ASP.NET MVP 实现中,Presenter 附加到 View 事件而不是 View 调用 Presenter 方法?

    我注意到在 Webforms MVP 实现和大多数其他示例中 Presenter 通常将处理程序附加到 View 事件 为什么视图不能直接调用演示者中的方法 只是想知道 由于将处理程序附加到事件 为特殊参数定义 EventArgs 在视图端
  • vagrant up 错误不起作用

    我尝试在我的计算机上安装 Laravel Homestead 我已经按照文档进行操作 昨天我就开始工作了 然而 我让笔记本电脑处于睡眠状态 并尝试运行 vagrant 配置 但收到了这个奇怪的错误 Jafars iMac Homestead
  • 无法从可执行共享库打印浮点数

    我正在开发一个共享库 它可以独立执行以打印它自己的版本号 我将自定义入口点定义为 const char my interp attribute section interp lib64 ld linux x86 64 so 2 void m
  • 将 Activiti 任务从旧流程迁移到新流程

    我有一个用于某些业务流程的 Activiti 项目 问题在于移民 现有流程有一些未完成的任务 我想通过添加新步骤来修改现有流程 现在 当我创建一个新任务时 这个新任务将根据更新的流程进行处理 而未完成的任务将按照旧流程进行处理 让我们看下面
  • IBM Watson Knowledge Studio - 注释负面/否定提及

    使用 Watson Knowledge Studio 注释提及内容时 通常会出现以下示例 我没有收到任何反馈 或 我从未收到任何反馈 如果我要注释上面提到的 反馈 那么它是一个 负面 例子 即它指的是没有发生的事情 创建自定义实体类型系统有
  • 如果对象成员没有值,如何为对象分配 null - automapper c#

    我在 C 中使用自动映射器 class A public int Value get set public string Code get set public B Details get set class B public int Id
  • 基于正则表达式的随机文本生成器[重复]

    这个问题在这里已经有答案了 我想知道是否有软件可以在给定正则表达式以及其他一些约束 例如长度 的情况下生成始终与给定正则表达式匹配的随机文本 谢谢 是的 可以生成与正则表达式随机匹配的软件 Exrex https github com as
  • sotimeout 在 android 2.1 上的多部分 http 帖子中不起作用

    我正在使用 android sdk 附带的 apache httpclient 使用多部分 http post 在服务器上上传文件 问题是 当我关闭设备上的 wifi 连接并且设置 sotimeout 和 connectiontimeout
  • 覆盖password_validation消息

    我使用 UserCreationForm 来创建新用户 from django contrib auth forms import UserCreationForm class RegistrationForm UserCreationFo
  • 在反应本机可触摸视图上启用触觉反馈

    我正在编写一个反应本机应用程序 我注意到虽然按钮在单击时看起来像本机按钮 但它们的行为并不像一个按钮 至少不像 Android 按钮的行为 单击 Android 应用程序按钮 发出声音并向用户提供触觉反馈 在声音中 我看到有 github