tools_box 0.2.0 copy "tools_box: ^0.2.0" to clipboard
tools_box: ^0.2.0 copied to clipboard

A Flutter utility toolkit with string/date formatting, widget extensions, validation tools, platform detection, list/number operations, color utilities, and Android app management.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'pages/string_demo_page.dart';
import 'pages/date_demo_page.dart';
import 'pages/validation_demo_page.dart';
import 'pages/widget_extensions_demo_page.dart';
import 'pages/buildcontext_demo_page.dart';
import 'pages/list_demo_page.dart';
import 'pages/num_demo_page.dart';
import 'pages/color_demo_page.dart';
import 'pages/platform_demo_page.dart';
import 'pages/app_utils_demo_page.dart';

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

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Tools Box Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
        useMaterial3: true,
      ),
      home: const DemoHomePage(),
    );
  }
}

class _CategoryItem {
  final String title;
  final String subtitle;
  final IconData icon;
  final WidgetBuilder builder;

  const _CategoryItem({
    required this.title,
    required this.subtitle,
    required this.icon,
    required this.builder,
  });
}

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

  static final List<_CategoryItem> _categories = [
    _CategoryItem(
      title: '字符串工具',
      subtitle: 'StringUtils - 字符串扩展方法',
      icon: Icons.text_fields,
      builder: (_) => const StringDemoPage(),
    ),
    _CategoryItem(
      title: '日期工具',
      subtitle: 'DateUtils - 日期格式化与计算',
      icon: Icons.calendar_today,
      builder: (_) => const DateDemoPage(),
    ),
    _CategoryItem(
      title: '验证工具',
      subtitle: 'ValidationUtils - 数据校验',
      icon: Icons.verified_user,
      builder: (_) => const ValidationDemoPage(),
    ),
    _CategoryItem(
      title: 'Widget 扩展',
      subtitle: 'WidgetExtensions - Widget 链式调用',
      icon: Icons.widgets,
      builder: (_) => const WidgetExtensionsDemoPage(),
    ),
    _CategoryItem(
      title: 'BuildContext 扩展',
      subtitle: 'BuildContextExtensions - 上下文工具',
      icon: Icons.smart_display,
      builder: (_) => const BuildContextDemoPage(),
    ),
    _CategoryItem(
      title: '列表工具',
      subtitle: 'ListUtils - 列表操作扩展',
      icon: Icons.list,
      builder: (_) => const ListDemoPage(),
    ),
    _CategoryItem(
      title: '数字工具',
      subtitle: 'NumUtils - 数字格式化与运算',
      icon: Icons.functions,
      builder: (_) => const NumDemoPage(),
    ),
    _CategoryItem(
      title: '颜色工具',
      subtitle: 'ColorUtils - 颜色处理与转换',
      icon: Icons.palette,
      builder: (_) => const ColorDemoPage(),
    ),
    _CategoryItem(
      title: '平台工具',
      subtitle: 'PlatformUtils - 平台检测与环境信息',
      icon: Icons.devices,
      builder: (_) => const PlatformDemoPage(),
    ),
    _CategoryItem(
      title: 'App 工具',
      subtitle: 'AppUtils - 应用管理与信息获取 (Android)',
      icon: Icons.android,
      builder: (_) => const AppUtilsDemoPage(),
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Tools Box 工具包演示'),
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
      ),
      body: ListView.builder(
        padding: const EdgeInsets.all(8),
        itemCount: _categories.length,
        itemBuilder: (context, index) {
          final item = _categories[index];
          return Card(
            margin: const EdgeInsets.symmetric(vertical: 4),
            child: ListTile(
              leading: CircleAvatar(
                backgroundColor: Theme.of(context).colorScheme.primaryContainer,
                child: Icon(item.icon, color: Theme.of(context).colorScheme.primary),
              ),
              title: Text(item.title, style: const TextStyle(fontWeight: FontWeight.bold)),
              subtitle: Text(item.subtitle, style: TextStyle(fontSize: 12, color: Colors.grey[600])),
              trailing: const Icon(Icons.chevron_right),
              onTap: () => Navigator.push(
                context,
                MaterialPageRoute(builder: item.builder),
              ),
            ),
          );
        },
      ),
    );
  }
}
1
likes
160
points
100
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter utility toolkit with string/date formatting, widget extensions, validation tools, platform detection, list/number operations, color utilities, and Android app management.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, intl

More

Packages that depend on tools_box