Usare la vibrazione in Flutter

Mattepuffo's logo
Usare la vibrazione in Flutter

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!


Condividi

Commentami!