如何使用 Flutter 使 phone 在长按时振动?

How to make the phone vibrate on long press with Flutter?

有没有办法让 phone 在到达 onLongPress "timer" 时振动?

例如:

1- 有一个项目列表

2- 我按住一个项目 "long press"

3- 当到达 onLongPress "timer" 时,我希望 phone 稍微振动一下。

可行吗?

谢谢

例如,您可以将要长按的小部件(项目)包装在 GestureDetector 中,结果如下所示:

class MyVibrateButton extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return Center(
      child: GestureDetector(
        onLongPress: () => HapticFeedback.vibrate(),
        child: Container(
          alignment: Alignment.center,
          decoration: BoxDecoration(border: Border.all(width: 2.0)),
          width: 100.0,
          height: 50.0,
          child: Text(
            'My Item\nPress me',
            textAlign: TextAlign.center,
          ),
        ),
      ),
    );
  }
}

编辑: 我刚刚发现您可以使用包含 services.dart 的 Flutter 包,其中包含 HapticFeedback class,它允许您在两个平台上触发不同的本地触觉反馈。对于此示例,您可以使用 vibrate() 方法。由于您希望它稍微振动,因此您可能还想尝试 lightImpact()mediumImpact() .我已经相应地编辑了我之前的答案。