标签: haptic-feedback

如何在 Jetpack Compose 中执行触觉反馈

使用 jetpack compose,对于点击事件如何执行触觉反馈。我是jetpack compose的新手。这就是我尝试过的 -

val hapticFeedback = LocalHapticFeedback

@Composable
fun Tab() {
    Row() {
        Icon(imageVector = icon, contentDescription = text)
        if (selected) {
            // i tried both the following ways, none are working. 
            hapticFeedback.current.performHapticFeedback(
                HapticFeedbackType(10)
            )
            hapticFeedback.current.performHapticFeedback(HapticFeedbackType.TextHandleMove)
....
            Spacer(Modifier.width(12.dp))
            Text(text.uppercase(Locale.getDefault()))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当文本被选中时,我可以看到文本,但没有得到微妙的振动反馈。

haptic-feedback android-jetpack-compose

26
推荐指数
4
解决办法
1万
查看次数

SwiftUI 菜单 - 菜单实际打开时的操作

我的应用程序中有一个菜单,当菜单打开时(通过onTagGesture操作)我会触发触觉反馈。

然而, 有时当我点击菜单打开触发器时,菜单实际上不会打开,但我仍然收到触觉反馈。我只在菜单实际打开时才需要触觉。

这是代码简化的代码块:

Menu {
    Button("Menu button", action: someAction}}
} label: { 
    Text("Open menu") //in reality, this a more complicated view tapping on which should open the (context) menu
}
.onTagGesture {
  let generator = UIImpactFeedbackGenerator(style: .rigid)
  generator.impactOccurred()
}
Run Code Online (Sandbox Code Playgroud)

所以它非常简单 - 点击触发器Open menu,点击被注册,触觉被回放,菜单打开。

但如前所述,无论出于何种原因,有时我按下该Open menu元素,触觉会回放,但实际菜单不会打开。

无论出于何种原因,我想知道一旦菜单实际打开(或者更好的是,实际打开),是否有任何方法可以执行操作(例如前面提到的触觉反馈)?我试图尽可能地寻找,但一无所获。

这也很重要,因为菜单也需要长按才能打开,这是打开菜单的 iOS 标准操作。即使我可以为长按添加另一个单独的处理程序(为两种情况提供触觉),但这似乎根本不是一个正确的方法。

结合有时菜单无法打开的事实,我似乎确实需要一些其他解决方案。任何人都可以分享任何想法吗?我是否缺少某种 onXXXXX 处理程序,该处理程序会在菜单打开时触发?

谢谢!

PS:为了提供更多细节,我正在尝试对 Apple 开发文档中描述的菜单实现这种方法: https: //developer.apple.com/documentation/swiftui/menu

作为该过程的一部分,我尝试将 onAppear 处理程序附加到整个菜单以及菜单内的单个元素。似乎两者都不起作用。

Menu {
    Button("Open in Preview", action: openInPreview) …
Run Code Online (Sandbox Code Playgroud)

menu haptic-feedback swiftui

17
推荐指数
2
解决办法
4557
查看次数

如何检查是否支持Haptic Engine(UIFeedbackGenerator)

我想知道我们如何检查UIFeebackGenerator当前设备上是否有新的iOS 10 API .还有一些我们需要检查的事情:

  1. 设备需要运行iOS 10.0或更高版本
  2. 该设备需要是iPhone 7或更高版本
  3. 需要在"设置"中打开触觉引擎

前两个检查可以使用#available(iOS 10, *)语句和(hacky)设备检测来实现,但后者似乎不可检查.

有人知道这方面的解决方案吗?或许我们需要为此提交Apple Radar.谢谢!

ios haptic-feedback ios10 uifeedbackgenerator

16
推荐指数
4
解决办法
7883
查看次数

在反应原生的可触摸视图上启用触觉反馈

我写了一个反应原生的应用程序,我注意到虽然按钮在点击时看起来像本机按钮 - 它们不像一个人一样(至少不像android按钮行为).

单击Android应用程序按钮 - 发出声音并向用户提供触觉反馈.在声音中,我看到有github讨论和公开问题,但我无法找到任何关于触觉反馈的内容.

如何使我的视图(任何可触摸的视图...)在点击上进行触觉反馈?这在应用程序中非常重要.

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

View view = findViewById(...)
view.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
Run Code Online (Sandbox Code Playgroud)

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

使用Vibrateapi 自行管理触觉反馈将导致全局禁用此选项的用户体验不良行为

谢谢

react-native haptic-feedback react-native-android

13
推荐指数
2
解决办法
4511
查看次数

Flutter:如何使用 HapticFeedback

我已经进口

import 'package:flutter/services.dart';
Run Code Online (Sandbox Code Playgroud)

然后叫

HapticFeedback.lightImpact();
Run Code Online (Sandbox Code Playgroud)

没发生什么事。我需要做什么才能让它工作?我正在运行 Android 9.0 的 Galaxy S8 上使用最新的 Flutter 1.6.6 版进行测试

dart flutter haptic-feedback

11
推荐指数
6
解决办法
1万
查看次数

音频设备添加到AVCaptureSession时UIImpactFeedbackGenerator不工作

将麦克风音频输入添加到AVCaptureSession似乎禁用了UIImpactFeedbackGenerator.

let audioDevice = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)
let audioDeviceInput = try AVCaptureDeviceInput(device: audioDevice)
if self.session.canAddInput(audioDeviceInput) {
   self.session.addInput(audioDeviceInput)
}
Run Code Online (Sandbox Code Playgroud)

移除音频设备后,将恢复反馈.

这是正常的行为吗?有没有解决的办法?

我注意到视频模式下的iOS相机应用程序和长按缩略图似乎仍然使反馈工作.所以有必要解决这个问题吗?

xcode audio-recording avfoundation ios haptic-feedback

8
推荐指数
1
解决办法
1346
查看次数

UISelectionFeedbackGenerator() 不适用于 iPhone 7

我想在我的应用程序中使用一些触觉。我正在使用,UISelectionFeedbackGenerator但它不起作用。我正在使用 iOS 10 在真正的 iPhone 7 上进行测试。这两行应该可以发挥作用 - 但没有任何反应:

let generator = UISelectionFeedbackGenerator()
generator.selectionChanged()
Run Code Online (Sandbox Code Playgroud)

iphone ios swift haptic-feedback ios10

7
推荐指数
3
解决办法
2247
查看次数

UIFeedbackGenerator _autoDeactivate崩溃iOS 11.2.2

我看到iOS 11中的触觉反馈引擎出现间歇性崩溃.不幸的是,我没有可重复的步骤,因为它似乎是随机发生的.

以下是异常和堆栈跟踪:

在自动停用<UIImpactFeedbackGenerator时引发异常:0x1c850a710:prepared = 0>对于样式2:强制停用<UIImpactFeedbackGenerator:0x1c850a710:prepared = 0>,样式为TurnOn且未激活(activationCount = -1)配置:<_UIImpactFeedbackGeneratorConfiguration:0x1c80bc920: isEnabled = 1,activationStyle = 2,requiredSupportLevel = 2> activationCount:-1,styleActivationCount:-1 engines:{(<_ UIFeedbackHapticOnlyEngine:0x1c80db040:state = 4,numberOfClients = 1,prewarmCount = 0,_isSuspended = 0>)}

# Platform: ios
# Application: MyApp
# Version: 3.1.0.4
# Bundle Identifier: com.company.myApp
# Issue #: 8845
# Issue ID: 59ff154761b02d480dd20c28
# Session ID: 2ec9b043edaa4fcaad12fa480d690e8a_0c4f8c61fbbd11e7924356847afe9799_0_v2
# Date: 2018-01-17T19:31:00Z
# OS Version: 11.2.2 (15C202)
# Device: iPhone 8
# RAM Free: 20.8%
# Disk Free: 82.9%

#0. Crashed: com.twitter.crashlytics.ios.exception
0  MyApp                  0x100d02fb8 CLSProcessRecordAllThreads …

ios haptic-feedback ios11

7
推荐指数
0
解决办法
904
查看次数

移动单元格时禁用 UICollectionView 触觉反馈

有没有办法禁用移动过程中交换单元时发生的触觉反馈?

uicollectionview swift haptic-feedback

7
推荐指数
0
解决办法
379
查看次数

是否有可能在Apple Watch OS 2上没有伴音的情况下触发触觉反馈

假设用户没有静音他们的手表声音.苹果手表应用程序是否有可能在没有伴音的情况下触发触觉反馈(即振动).

这与收到手表自动处理的通知不同.在这种情况下,我正在使用手表应用程序调用触觉反馈.

像这样:[[WKInterfaceDevice currentDevice] playHaptic:WKHapticTypeClick];

ios apple-watch watchkit haptic-feedback

6
推荐指数
1
解决办法
656
查看次数