number_counting_animation 1.0.1 copy "number_counting_animation: ^1.0.1" to clipboard
number_counting_animation: ^1.0.1 copied to clipboard

Number Counting Animation package - A simple flutter counting animation widget.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:number_counting_animation/number_counting_animation.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(
          seedColor: Colors.deepPurple,
        ),
        useMaterial3: true,
      ),
      home: const MyHomePage(
        title: 'Counting Animation Demo',
        value: 12345,
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({
    super.key,
    required this.title,
    required this.value,
  });
  final String title;
  final int value;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int intvalue = 0;
  String var1 = '';
  String var2 = '';
  String var3 = '';
  String var4 = '';

  void initData(int value) {
    intvalue = value;
    var formatCurrency = NumberFormat.simpleCurrency(
      locale: "ko_KR",
      name: '',
      decimalDigits: 0,
    );
    String formatStr = formatCurrency.format(value);

    var1 = value.toString();
    var2 = '₩${value.toString()}.123';
    var3 = '₩$formatStr';
    var4 = '[$formatStr]';
    setState(() {});
  }

  @override
  void initState() {
    super.initState();
    initData(widget.value);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      floatingActionButton: FloatingActionButton(
        child: const Icon(Icons.refresh),
        onPressed: () {
          initData(intvalue + 1111);
        },
      ),
      body: Center(
        child: Column(
          children: [
            const Spacer(),
            CountingAnimation(
              value: var1,
              textStyle: const TextStyle(
                color: Colors.black,
                fontSize: 20,
              ),
              scrollCount: 20,
              singleScollDuration: const Duration(milliseconds: 50),
              lastDuration: const Duration(milliseconds: 1000),
            ),
            const Spacer(),
            CountingAnimation(
              value: var2,
              textStyle: const TextStyle(
                color: Colors.blue,
                fontSize: 20,
              ),
              useChar: true,
            ),
            const Spacer(),
            CountingAnimation(
              value: var3,
              textStyle: const TextStyle(
                color: Colors.blue,
                fontSize: 20,
              ),
              useChar: true,
            ),
            const Spacer(),
            CountingAnimation(
              value: var4,
              textStyle: const TextStyle(
                color: Colors.blue,
                fontSize: 20,
              ),
              useChar: true,
              scrollCount: 10,
              singleScollDuration: const Duration(milliseconds: 200),
              lastDuration: const Duration(milliseconds: 1000),
            ),
            const Spacer(),
          ],
        ),
      ),
    );
  }
}
8
likes
160
points
112
downloads
screenshot

Publisher

unverified uploader

Weekly Downloads

Number Counting Animation package - A simple flutter counting animation widget.

Repository (GitHub)
View/report issues

Topics

#animation #counting #scrolling

Documentation

API reference

License

Apache-2.0 (license)

Dependencies

flutter

More

Packages that depend on number_counting_animation