Flutter进度条按钮插件flutter_progress_bar_button的使用

Flutter进度条按钮插件flutter_progress_bar_button的使用

这是一个用于Flutter的带有动画进度条的按钮插件。

开始

目录

示例

简单使用:圆形进度按钮

// 定义进度值
int progress = 5;

// 使用CircularAnimatedProgressBar组件
CircularAnimatedProgressBar(
    size: 150, // 设置按钮大小
    progress: (progress.clamp(0, 10) / 10), // 设置进度值
    onPressed: () {
        setState(() { // 当按钮被点击时更新进度
            progress += 2;
        });
    }
)

简单使用:矩形进度按钮

// 定义进度值
int progress = 5;

// 使用RectangleAnimatedProgressBar组件
RectangleAnimatedProgressBar(
    progress: (progress.clamp(0, 10) / 10), // 设置进度值
    enumPosition: PositionEnum.right, // 设置进度条位置
    colorsWave: const [ // 设置进度条颜色
      Color(0x4D2196f3),
      Color(0x662196f3),
      Color(0xCC2196f3),
    ],
    backgroundColor: const Color(0x262192F3), // 设置背景颜色
)

完整示例代码

以下是一个完整的示例代码,展示了如何在应用中使用flutter_progress_bar_button插件。

import 'package:flutter/material.dart';
import 'package:flutter_progress_bar_button_example/circualr_progress_button_example.dart';

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

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

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('插件示例应用'), // 设置应用标题
        ),
        body: const CircualrProgressButtonExample(), // 使用圆形进度按钮示例
      ),
    );
  }
}

更多关于Flutter进度条按钮插件flutter_progress_bar_button的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter进度条按钮插件flutter_progress_bar_button的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


flutter_progress_bar_button 是一个 Flutter 插件,它允许你在按钮中显示进度条。这个插件非常适合用于需要显示加载状态的场景,比如在提交表单、上传文件或执行长时间操作时。

以下是如何使用 flutter_progress_bar_button 插件的基本步骤:

1. 添加依赖

首先,在你的 pubspec.yaml 文件中添加 flutter_progress_bar_button 依赖:

dependencies:
  flutter:
    sdk: flutter
  flutter_progress_bar_button: ^0.1.0 # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 导入包

在你的 Dart 文件中导入 flutter_progress_bar_button 包:

import 'package:flutter_progress_bar_button/flutter_progress_bar_button.dart';

3. 使用 ProgressBarButton

你可以在你的 UI 中使用 ProgressBarButton 组件。以下是一个简单的示例:

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('ProgressBarButton Example'),
        ),
        body: Center(
          child: ProgressBarButtonExample(),
        ),
      ),
    );
  }
}

class ProgressBarButtonExample extends StatefulWidget {
  @override
  _ProgressBarButtonExampleState createState() => _ProgressBarButtonExampleState();
}

class _ProgressBarButtonExampleState extends State<ProgressBarButtonExample> {
  bool _isLoading = false;

  void _startLoading() async {
    setState(() {
      _isLoading = true;
    });

    // 模拟一个耗时的操作
    await Future.delayed(Duration(seconds: 3));

    setState(() {
      _isLoading = false;
    });
  }

  @override
  Widget build(BuildContext context) {
    return ProgressBarButton(
      isLoading: _isLoading,
      onPressed: _startLoading,
      child: Text('Submit'),
    );
  }
}

4. 解释

  • isLoading: 一个布尔值,用于控制按钮是否显示进度条。当 isLoadingtrue 时,按钮会显示进度条。
  • onPressed: 当按钮被点击时调用的回调函数。在这个例子中,我们模拟了一个耗时的操作,并在操作完成后将 isLoading 设置为 false
  • child: 按钮的文本或子组件。

5. 自定义样式

你可以通过 ProgressBarButton 的其他属性来自定义按钮的样式,比如进度条的颜色、按钮的背景颜色等。

ProgressBarButton(
  isLoading: _isLoading,
  onPressed: _startLoading,
  progressBarColor: Colors.white, // 进度条颜色
  backgroundColor: Colors.blue, // 按钮背景颜色
  child: Text('Submit', style: TextStyle(color: Colors.white)),
);
回到顶部