Usare la vibrazione in Flutter
Per usare la vibrazione in Flutter, sul mobile ovviamente, possiamo usare il package vibration.
L'ho trovato abbastanza facile da usare.
In questo articolo vediamo qualche esempio.
Prima di tutto per installarlo:
flutter pub add vibration
Qui sotto 4 bottoni che eseguono diverse vibrazioni:
import 'package:flutter/material.dart';
import 'package:vibration/vibration.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'Flutter Test',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(
seedColor: Colors.deepPurple,
),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: const Text('Flutter Test'),
),
body: Column(
children: [
ElevatedButton(
child: const Text('Vibrazione di default'),
onPressed: () {
Vibration.vibrate();
},
),
ElevatedButton(
child: const Text('Vibrazione di durata custom'),
onPressed: () {
Vibration.vibrate(duration: 2000);
},
),
ElevatedButton(
child: const Text('Vibrazione con pattern'),
onPressed: () {
Vibration.vibrate(
pattern: [500, 1000, 500, 2000, 500, 3000, 500, 500],
);
},
),
ElevatedButton(
child: const Text('Vibrazione con pattern e ampiezza'),
onPressed: () {
Vibration.vibrate(
pattern: [500, 1000, 500, 2000, 500, 3000, 500, 500],
intensities: [0, 128, 0, 255, 0, 64, 0, 255],
);
},
),
],
),
);
}
}
Ad essere sincero gli ultimi due mi sembrano uguali, ma forse c'è solo da giocare un pò con i settaggi.
Enjoy!
dart flutter vibration
Commentami!