Flutter辅助工具插件helping_hand的使用

发布于 1周前 作者 sinazl 来自 Flutter

Flutter辅助工具插件helping_hand的使用

Helping Hand 是一个包含了许多有用的代码片段的集合,旨在节省你在开发过程中的时间。每个项目都包含这些基本的代码片段,而我对此感到厌倦了反复编写它们,所以创建了一个仓库供每个人使用,并提高他们的生产力。

特性

  • 可自定义的事件对话框:错误、警告、成功与信息
  • 时间戳格式化扩展,显示从秒到年的变化:例如 1分钟前 | 1天前
  • 间距扩展:可以在水平和垂直方向上添加所需的间距
  • 可自定义的确认对话框

开始使用

通过以下命令将该插件添加到你的项目中:

flutter pub add helping_hand

使用方法

在你的widget树中添加水平间距:

16.width

在你的widget树中添加垂直间距:

16.height

获取经过的时间并以短标签形式显示:

DateTime now = DateTime.now();
now.timeElasped();

获取经过的时间并以全标签形式显示:

DateTime now = DateTime.now();
now.timeElasped(showFullLabels: true);

如果你想要显示Alert对话框或Snackbar对话框,可以参考以下示例:

HelpingHand.showError(message: "这是一个错误", context: context);

你可以显示错误、警告、信息和成功的对话框。这里的context是你widget树的buildContext。如果你正在使用Getx,可以这样写:

HelpingHand.showError(message: "这是一个错误", context: Get.context!);

要显示确认对话框:

HelpingHand.instance.showConfirmationDialog(
  message: "你想退出应用程序吗?",
  context: context,
  onConfirm: TextButton(
    onPressed: () async {
      Navigator.pop(context);
      exit(0);
    },
    child: const Text("退出"),
  ),
  onCancel: IconButton(
    onPressed: () async {
      Navigator.pop(context);
    },
    icon: const Icon(Icons.close),
  ),
);

额外信息

欢迎所有人贡献有用的代码片段,以便我们能够在开发过程中加快速度。我们接受仓库的pull请求。

如果您有任何问题,欢迎访问我的网站: abulkalam.dev


完整示例代码

import 'dart:io';

import 'package:flutter/material.dart';
import 'package:helping_hand/helping_hand.dart';
import 'package:helping_hand/spacing.dart';
import 'package:helping_hand/timestamps.dart';

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

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

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: "Helping Hand",
      theme: ThemeData(primarySwatch: Colors.blue),
      home: Scaffold(
        appBar: AppBar(
          title: const Text("示例"),
        ),
        body: Container(
          padding: const EdgeInsets.all(16),
          child: ListView(
            children: [
              TextButton(
                onPressed: () async {
                  HelpingHand.instance.showError(
                      message: '这是一个错误!', context: context);
                },
                child: const Text("显示错误"),
              ),
              16.0.height, // 添加16像素高度
              TextButton(
                onPressed: () async {
                  HelpingHand.instance.showInfo(
                      message: '帮助手由Abul Kalam开发', context: context);
                },
                child: const Text("显示信息"),
              ),
              16.0.height, // 添加16像素高度
              TextButton(
                onPressed: () async {
                  HelpingHand.instance.showSuccess(
                      message: '它工作得完美无缺', context: context);
                },
                child: const Text("显示成功"),
              ),
              16.height, // 添加16像素高度
              TextButton(
                onPressed: () async {
                  HelpingHand.instance.showWarning(
                      message: '一些验证错误!', context: context);
                },
                child: const Text("显示警告"),
              ),
              16.0.height, // 添加16像素高度
              const Text('开发于 '),
              Row(
                children: [
                  Text(DateTime(2024, 5, 13, 14).timeElasped()), // 短标签
                  16.0.width, // 添加16像素宽度
                  const Text("|"),
                  16.width, // 添加16像素宽度
                  Text(DateTime(2024, 5, 13, 14).timeElasped(showFullLabels: true)), // 全标签
                ],
              ),
              16.height,
              TextButton(
                onPressed: () async {
                  HelpingHand.instance.showConfirmationDialog(
                    message: "你想退出应用程序吗?",
                    context: context,
                    onConfirm: TextButton(
                      onPressed: () async {
                        Navigator.pop(context);
                        exit(0);
                      },
                      child: const Text("退出"),
                    ),
                    onCancel: IconButton(
                      onPressed: () async {
                        Navigator.pop(context);
                      },
                      icon: const Icon(Icons.close),
                    ),
                  );
                },
                child: const Text("关闭应用"),
              )
            ],
          ),
        ),
      ),
    );
  }
}

更多关于Flutter辅助工具插件helping_hand的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter辅助工具插件helping_hand的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


helping_hand 是一个 Flutter 插件,旨在为开发者提供一些常用的辅助工具和功能,以提高开发效率。它可能包括各种实用工具,如日志记录、设备信息获取、网络状态监控、本地存储管理等。以下是关于如何使用 helping_hand 插件的基本指南。

1. 安装插件

首先,你需要在 pubspec.yaml 文件中添加 helping_hand 插件的依赖。

dependencies:
  flutter:
    sdk: flutter
  helping_hand: ^版本号  # 请替换为最新版本号

然后运行 flutter pub get 来安装插件。

2. 导入插件

在你的 Dart 文件中导入 helping_hand 插件:

import 'package:helping_hand/helping_hand.dart';

3. 使用插件

helping_hand 插件可能提供了多种功能模块,以下是几个常见的使用示例:

3.1 日志记录

helping_hand 可能提供了一个简单的日志记录工具,用于调试和跟踪应用程序的行为。

HelpingHand.log('This is a debug log message');
HelpingHand.error('This is an error log message');

3.2 获取设备信息

你可以使用 helping_hand 来获取设备的详细信息,如设备型号、操作系统版本等。

String deviceModel = await HelpingHand.getDeviceModel();
String osVersion = await HelpingHand.getOSVersion();

print('Device Model: $deviceModel');
print('OS Version: $osVersion');

3.3 网络状态监控

helping_hand 可能提供了网络状态监控功能,允许你检测设备的网络连接状态。

bool isConnected = await HelpingHand.isNetworkConnected();

if (isConnected) {
  print('Device is connected to the internet');
} else {
  print('Device is offline');
}

3.4 本地存储管理

helping_hand 可能还提供了简单的本地存储管理功能,允许你轻松地存储和检索数据。

HelpingHand.setString('key', 'value');
String value = await HelpingHand.getString('key');
print('Stored value: $value');
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!