2
votes

Minuterie de compte à rebours Pause Flutter

J'ai joué avec Dart Timer Class que je l'ai fait fonctionner dans sa forme très basique, mais je suis bloqué en essayant d'y ajouter une fonction de pause. J'ai regardé dans leurs documentations, mais elles ne concernent pas beaucoup leur classe Timer ...

Est-il possible que je puisse mettre en pause et reprendre le chronomètre / compte à rebours au clic? Voici ce que j'ai accompli jusqu'à présent:

import 'package:flutter/material.dart';
import 'dart:async';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}


class _MyHomePageState extends State<MyHomePage> {

  Timer _timer;
  int _start = 10;

  void startTimer() {
    const oneSec = const Duration(seconds: 1);
    _timer = new Timer.periodic(
        oneSec,
            (Timer timer) => setState(() {
          if (_start < 1) {
            timer.cancel();
          } else {
            _start = _start - 1;
          }
        }));
  }


  Widget build(BuildContext context) {
    return new Scaffold(
        appBar: AppBar(title: Text("Timer test")),
        body: Column(
          children: <Widget>[
            RaisedButton(
              onPressed: () {
                startTimer();
              },
              child: Text("start"),
            ),
            Text("$_start")
          ],
        ));
  }
}


0 commentaires

3 Réponses :


5
votes

Il n'y a pas de fonction pause intégrée, puisque la classe Timer est principalement destinée à planifier des blocs de code pour plus tard.

Quel est votre cas d'utilisation? La classe Stopwatch a une pause et reprendre la fonctionnalité.


0 commentaires

2
votes

Vous trouverez ci-dessous un exemple de flutter fonctionnel avec pause et vibrations ( source ) < pré> XXX


0 commentaires