パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.0.1

smart_countdown

特定の終了日時までのカスタマイズ可能なカウントダウンタイマーで、1秒ごとに更新されます。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
28
いいね数
5
Pub ポイント
150

パッケージをインストール

flutter pub add smart_countdown

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

SmartCountdown は、指定された終了日時まで毎秒更新されるカスタマイズ可能なカウントダウンタイマーを提供する Flutter パッケージです。シンプルさと柔軟性を重視して設計されており、開発者がアプリに動的なカウントダウンを簡単に統合できるようにしています。Android、iOS、Web、macOS、Windows、Linux など、さまざまなプラットフォームをサポートしており、クロスプラットフォームアプリに最適です。明確な API デザインと最小限のセットアップで、オプションのフォーマットやコールバックを含むリアルタイムのカウントダウン表示が可能になります。

用途

  • イベントの残り時間を表示する
  • ゲーム化インターフェースでのカウントダウン表示
  • セッション持続時間のトラッキング
  • 期間限定のオファーの実施
  • イベントリマインダーの作成
  • フィットネスや勉強のタイマーを構築する

主な機能

  • リアルタイムの1秒ごとの更新
  • カスタマイズ可能な終了日時
  • クロスプラットフォーム互換性
  • シンプルで直感的な API
  • 完了時のコールバックのサポート
  • 柔軟なフォーマットオプション

適している対象

  • イベントベースのアプリを開発する開発者
  • 時間制限付きのインタラクションを必要とするアプリ
  • 教育または生産性ツール
  • ゲーム化機能
  • フラッシュセール付きのECアプリ

注意事項

  • 正確なシステム時計が必要です
  • 一時停止/再開機能をサポートしていません
  • インスタンスごとに1つのカウントダウンに制限
  • 組み込みのUIコンポーネントなし(手動でスタイルを設定する必要あり)
  • 短~中程度のタイマーに最適

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Countdown Timer Plugin

A Flutter plugin to display a customizable countdown timer widget that counts down to a specific endDate. The plugin supports text customization, color options, and auto-refreshing every second.

Demo

  • MacOS

https://github.com/user-attachments/assets/c4f100c6-2d42-4f19-aa4e-f3821623769d

  • Web

https://github.com/user-attachments/assets/6c218998-ac94-44ea-8ca0-fba6576dbf22

  • IOS

https://github.com/user-attachments/assets/a96d6c35-5b32-4d4d-8671-f377beea85bc

Features

  • Displays a countdown timer.
  • Customizable styles for text and colors.
  • Option to hide zero values for days, hours, minutes, and seconds.
  • Easy-to-use widget for cross-platform support on Android, iOS, web, macOS, Linux, and Windows.

Table of Contents

Installation

Add the following line to your pubspec.yaml file under dependencies:

dependencies:
  smart_countdown: ^1.0.0

Then, run the following command:

flutter pub get
Local Development

If you're using this plugin locally (during development), add the path to the plugin:

dependencies:
  smart_countdown:
    path: ../smart_countdown

Usage

To use the plugin in your Flutter app, import the package and use the CountdownWidget widget:

import 'package:smart_countdown/smart_countdown.dart';

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    DateTime endDate = DateTime.now().add(Duration(days: 1, hours: 5));

    return Scaffold(
      appBar: AppBar(
        title: Text("Countdown Timer Example"),
      ),
      body: Center(
        child: CountdownWidget(
          endDate,
          completedText: "Countdown Complete!",
          timerStyle: TextStyle(fontSize: 18, color: Colors.blue),
          hideZeroValues: true,
        ),
      ),
    );
  }
}
CountdownWidget Parameters
Parameter Type Default Description
endDate DateTime Required The date and time the countdown will end.
completedText String? "Time Completed!" Text to display when the countdown ends.
timerStyle TextStyle? null The style to apply to the countdown text (font size, weight, etc.).
timerColor Color? Colors.grey The color of the countdown text.
hideZeroValues bool? false If true, it hides zero values (e.g., hours, minutes, etc. when they are zero).

Customization Options

  1. completedText: This parameter allows you to set custom text when the countdown is over. For example:

    completedText: "Event Started!"
    
  2. timerStyle: Customize the countdown timer's text appearance by passing a TextStyle:

    timerStyle: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.red)
    
  3. timerColor: Change the countdown timer's color using the timerColor parameter:

    timerColor: Colors.blueAccent
    
  4. hideZeroValues: If you want to hide sections of the countdown when they reach zero (e.g., hiding 00 Days), set hideZeroValues to true:

    hideZeroValues: true
    

Examples

Basic Countdown Timer
import 'package:flutter/material.dart';
import 'package:smart_countdown/smart_countdown.dart';

class CountdownPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    DateTime endDate = DateTime.now().add(Duration(days: 1, hours: 5));

    return Scaffold(
      appBar: AppBar(
        title: Text("Basic Countdown Timer"),
      ),
      body: Center(
        child: CountdownWidget(
          endDate,
        ),
      ),
    );
  }
}
Customized Countdown Timer
import 'package:flutter/material.dart';
import 'package:smart_countdown/smart_countdown.dart';

class CustomCountdownPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    DateTime endDate = DateTime.now().add(Duration(hours: 2, minutes: 45));

    return Scaffold(
      appBar: AppBar(
        title: Text("Customized Countdown Timer"),
      ),
      body:Center(
        child: CountdownWidget(
          endDate,
          completedText: "Countdown Complete!",
          timerStyle: const TextStyle(fontSize: 18, color: Colors.red),
          timerColor: Colors.red,
          hideZeroValues: true,
        ),
      ),
    );
  }
}
Countdown Timer with Days
import 'package:flutter/material.dart';
import 'package:smart_countdown/smart_countdown.dart';

class DaysCountdownPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    DateTime endDate = DateTime.now().add(Duration(days: 7));

    return Scaffold(
      appBar: AppBar(
        title: Text("Countdown Timer with Days"),
      ),
      body:Center(
        child: CountdownWidget(
          endDate,
          completedText: "Countdown Complete!",
          timerStyle: const TextStyle(fontSize: 18, color: Colors.red),
          timerColor: Colors.red,
          hideZeroValues: true,
        ),
      ),
    );
  }
}

Contributing

Contributions are welcome! Please submit a pull request if you'd like to contribute to the plugin.

Steps to Contribute:
  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/my-feature).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature/my-feature).
  5. Open a pull request.

Feel free to submit issues or feature requests. Please make sure all code submissions adhere to the Effective Dart guidelines.

License

This plugin is licensed under the MIT License. See the LICENSE file for more details.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。