如何使用 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()
.我已经相应地编辑了我之前的答案。
有没有办法让 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()
.我已经相应地编辑了我之前的答案。