如何使用 Flutter 使手机在​​长按时振动?

Dav*_*vid 4 hardware dart flutter

有没有办法让手机在onLongPress达到“定时器”时振动?

例如:

1-有一个项目列表

2-我按住一个项目“长按”

3- 当onLongPress达到“计时器”时,我希望手机稍微振动一下。

可行吗?

谢谢

Mig*_*ivo 9

例如,您可以将要长按的小部件(项目)包装在一个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,
          ),
        ),
      ),
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

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