Flutter如何实现触控震动反馈

在Flutter中如何为按钮或其他控件添加触控震动反馈?我想在用户点击时触发设备震动,但不知道具体该使用哪个包或API。能否提供一个简单的实现示例?是否需要考虑不同平台的兼容性问题?

2 回复

在Flutter中,使用HapticFeedback类实现触控震动反馈。调用HapticFeedback.vibrate()即可触发设备震动。适用于按钮点击等交互场景,增强用户体验。

更多关于Flutter如何实现触控震动反馈的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中实现触控震动反馈,可以使用vibration插件。以下是具体实现步骤:

  1. 添加依赖pubspec.yaml文件中添加:

    dependencies:
      vibration: ^2.0.0
    
  2. 导入包

    import 'package:vibration/vibration.dart';
    
  3. 基本使用

    GestureDetector(
      onTap: () async {
        if (await Vibration.hasVibrator()) {
          Vibration.vibrate(duration: 100); // 震动100毫秒
        }
      },
      child: Container(
        width: 200,
        height: 50,
        color: Colors.blue,
        child: Center(child: Text('点击震动')),
      ),
    )
    
  4. 其他震动模式

    • 短震动:Vibration.vibrate(duration: 50)
    • 长震动:Vibration.vibrate(duration: 500)
    • 模式震动:
    Vibration.vibrate(
      pattern: [0, 100, 200, 100], // 延迟0ms,震动100ms,暂停200ms,震动100ms
    );
    
  5. 权限配置(仅Android)android/app/src/main/AndroidManifest.xml中添加:

    <uses-permission android:name="android.permission.VIBRATE" />
    

注意事项

  • iOS需要用户主动交互(如按钮点击)才能触发震动
  • 部分Android设备可能不支持自定义震动时长
  • 建议在震动前使用Vibration.hasVibrator()检查设备支持情况

通过这种方式,可以轻松为Flutter应用添加触控震动反馈效果。

回到顶部