패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.3

slide_countdown_clock

Flutter용 카운트다운 시계 플러그인으로 상하 슬라이드 애니메이션 기능을 제공합니다.

30일 다운로드
38
좋아요
94
Pub 점수
30

패키지 설치

flutter pub add slide_countdown_clock

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

부드러운 슬라이드업 및 슬라이드다운 애니메이션을 제공하는 시각적으로 매력적인 카운트다운 시계를 제공하는 플러터 플러그인입니다. 동적 시간 표시가 필요한 애플리케이션을 위해 설계되었으며, 타이머가 진행됨에 따라 부드러운 전환으로 사용자 경험을 향상시킵니다. 가볍고 쉽게 통합할 수 있어 게임, 알림 또는 이벤트 카운트다운용 타이머에 적합합니다. 간단한 구성으로 사용자 정의 스타일링과 타이밍 동작을 지원합니다.

사용 사례

  • 타이머 기반 게임 인터페이스
  • 이벤트 카운트다운 표시
  • 알림 알림
  • 상호작용 학습 앱
  • 작업 완료 타이머

주요 기능

  • 시간 업데이트 시 슬라이드 애니메이션
  • 사용자 정의 가능한 타이머 표시
  • Flutter와의 간단한 통합
  • 부드러운 전환 효과
  • 경량이고 성능이 뛰어남

적합한 대상

  • 인터랙티브 타이머를 개발하는 개발자
  • 카운트다운 중 시각적 피드백이 필요한 앱
  • 사용자 인터페이스 중심의 시간 추적 기능
  • 교육용 또는 게임화된 애플리케이션
  • 미니멀리스트 디자인 프로젝트

고려 사항

  • 기본 카운트다운 기능에 국한됨
  • 다중 타이머에 대한 내장 지원 없음
  • 애니메이션은 저사양 기기에서 성능에 영향을 줄 수 있습니다
  • 타이머 로직을 수동으로 처리해야 합니다
  • 특정 플랫폼 최적화에 대한 언급 없음

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

slide_countdown_clock

A Countdown clock with slide up and down animation plugin for Flutter

Demo

Demo:

Usage

To use plugin, just import package import 'package:slide_countdown_clock/slide_countdown_clock.dart';

Example

You can check example directory to know how to use it like the demo gif.

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

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> {
  GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey();
  Duration _duration = Duration(seconds: 1000000);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      appBar: AppBar(title: Text(widget.title)),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          crossAxisAlignment: CrossAxisAlignment.center,
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text('Slide direction Up'),
            SlideCountdownClock(
              duration: Duration(days: 20, minutes: 1000000),
              slideDirection: SlideDirection.Up,
              separator: ":",
              textStyle: TextStyle(
                fontSize: 20,
                fontWeight: FontWeight.bold,
              ),
              shouldShowDays: true,
              onDone: () {
                _scaffoldKey.currentState.showSnackBar(SnackBar(content: Text('Clock 1 finished')));
              },
            ),
            _buildSpace(),
            Text('Slide direction Down'),
            SlideCountdownClock(
              duration: _duration,
              slideDirection: SlideDirection.Down,
              separator: ":",
              textStyle: TextStyle(
                fontSize: 20,
                fontWeight: FontWeight.bold,
              ),
              onDone: () {
                _scaffoldKey.currentState.showSnackBar(SnackBar(content: Text('Clock 1 finished')));
              },
            ),
            _buildSpace(),
            Text('Use box Decoration'),
            Padding(
              padding: EdgeInsets.all(10),
              child: SlideCountdownClock(
                duration: _duration,
                slideDirection: SlideDirection.Up,
                separator: "-",
                textStyle: TextStyle(
                  fontSize: 20,
                  fontWeight: FontWeight.bold,
                  color: Colors.white,
                ),
                separatorTextStyle: TextStyle(
                  fontSize: 20,
                  fontWeight: FontWeight.bold,
                  color: Colors.blue,
                ),
                padding: EdgeInsets.all(10),
                decoration: BoxDecoration(color: Colors.blue, shape: BoxShape.circle),
                onDone: () {
                  _scaffoldKey.currentState.showSnackBar(SnackBar(content: Text('Clock 1 finished')));
                },
              ),
            ),
          ],
        ),
      ),
    );
  }

  Widget _buildSpace() {
    return SizedBox(height: 50);
  }
}

카테고리

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.