FLUTTER ECOSYSTEM

bixat/rocket_timer

rocket_timer 패키지는 시작, 일시정지, 정지, 리셋 및 카운트다운 모드와 일반 모드 간 전환을 지원합니다

rocket_timer 프로젝트 이미지
Stars
0
Forks
1
최근 푸시(UTC)
2023. 10. 1.
프로젝트 상태
활성
Bixat.dev GitHub avatar
GITHUB Organization

Bixat.dev ↗

Craftsmans: Where Excellence Meets Innovation.

언어DartSwiftHTMLShellObjective-CJavaKotlin

기술 주제

사용 중인 의존성

의존성 목록 3 개
  • flutter{"sdk":"flutter"}
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^2.0.0

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

Rocket Timer

The rocket_timer package provides a RocketTimer class for implementing countdown or normal timers in Flutter applications, as well as a RocketTimerBuilder widget for building widgets that respond to changes in a RocketTimer object. It supports starting, pausing, stopping, resetting, and switching between countdown and normal modes, and is easy to use and customize.

Usage

To use the RocketTimer class, simply create a new instance of it and call its methods to control the timer:

import 'package:rocket_timer/rocket_timer.dart';

final RocketTimer timer = RocketTimer(duration: 60, type: TimerType.countdown);

// Start the timer
timer.start();

// Pause the timer
timer.pause();

// Stop the timer
timer.stop();

// Reset the timer
timer.reset();

// Switch between countdown and normal modes
timer.switchMode();

// Restart timer
timer.restart();

To display the timer in a widget, you can use the RocketTimerBuilder widget which listens to changes in a RocketTimer object and rebuilds the widget tree accordingly:

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

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

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  final RocketTimer _rocketTimer = RocketTimer(duration: 60, type: TimerType.countdown);

  @override
  void dispose() {
    _rocketTimer.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: RocketTimerBuilder(
          timer: _rocketTimer,
          builder: (BuildContext context) {
            return Text(
              _rocketTimer.formattedDuration,
              style: Theme.of(context).textTheme.headline1,
            );
          },
        ),
      ),
    );
  }
}

API Reference

See the full API reference for the RocketTimer class and the RocketTimerBuilder widget in the rocket_timer package documentation.