본문 바로가기
개발/Flutter

Flutter 플러터 타이머 간단 구현 Timer

by SPNK 2023. 1. 29.
반응형

Flutter 플러터 타이머 간단 구현

코드 작성

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

class TimerPage extends StatefulWidget {
  const TimerPage({Key? key}) : super(key: key);

  @override
  State<TimerPage> createState() => _TimerPageState();
}

class _TimerPageState extends State<TimerPage> {
  int _seconds = 0;
  bool _isRunning = false;
  late Timer _timer;

  void _startTimer() {
    _isRunning = true;
    _timer = Timer.periodic(Duration(seconds: 1), (timer) {
      setState(() {
        _seconds++;
      });
    });
  }

  void _stopTimer() {
    _isRunning = false;
    _timer.cancel();
  }

  void _resetTimer() {
    setState(() {
      _seconds = 0;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('$_seconds', style: TextStyle(fontSize: 72)),
            SizedBox(height: 16),
            Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                ElevatedButton(
                  onPressed: _isRunning ? null : _startTimer,
                  child: Text('Start'),
                ),
                SizedBox(width: 16),
                ElevatedButton(
                  onPressed: _isRunning ? _stopTimer : null,
                  child: Text('Stop'),
                ),
                SizedBox(width: 16),
                ElevatedButton(
                  onPressed: _resetTimer,
                  child: Text('Reset'),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

참고할만한 글

 

플러터 Flutter 메모장 구현하기

코드 작성 import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; import 'dart:io'; class Notepad extends StatefulWidget { @override _NotepadState createState() => _NotepadState(); } class _NotepadState extends State

parksh3641.tistory.com

 

플러터 Flutter ToDo List 구현하기

코드 작성 import 'dart:async'; import 'package:flutter/material.dart'; class ToDoListPage extends StatefulWidget { const ToDoListPage({Key? key}) : super(key: key); @override State createState() => _ToDoListPageState(); } class _ToDoListPageState exten

parksh3641.tistory.com

 

반응형

댓글