Flutter进度条展示插件square_progress_bar的使用

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

Flutter进度条展示插件square_progress_bar的使用

Square progress bar 是一个功能丰富的Flutter插件,它允许开发者创建动态、可定制的进度条。下面是如何在你的Flutter项目中安装和使用 square_progress_bar 的指南。

特性

  • 动态大小调整
  • 动画进度条
  • 渐变色进度条
  • 进度条端点形状自定义
  • 从右向左(RTL)支持
  • ✨魔法✨

示例

安装

在你的 pubspec.yaml 文件中添加如下依赖:

dependencies:
  square_progress_bar: ^1.1.1

然后运行 flutter pub get 来安装这个包。

开始使用

只需提供0.0到1.0范围内的进度值即可开始使用。

使用方法

以下是一个完整的示例,展示了如何使用 SquareProgressBar 小部件:

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

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

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // The progress value needs to be in a range from 0.0 to 1.0
  double _progress = 0.0;
  // The percentage label range is from 0 to 100, By multiply _progress by 100.
  String _percentageLabel = "0%";

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Square Progress Bar Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: SizedBox(
          width: double.infinity,
          height: double.infinity,
          child: Stack(
            alignment: Alignment.center,
            children: [
              SquareProgressBar(
                width: 100, // 默认:最大可用空间
                height: 100, // 默认:最大可用空间
                progress: _progress, // 提供0.0到1.0范围内的进度
                isAnimation: false, // 默认:false,是否动画显示进度
                solidBarColor: Colors.amber, // 默认:蓝色,主进度条颜色
                emptyBarColor: Colors.orange.withOpacity(0.2), // 默认:灰色,空进度条颜色
                strokeWidth: 20, // 默认:15,进度条宽度
                barStrokeCap: StrokeCap.round, // 默认:StrokeCap.round,进度条端点形状
                isRtl: false, // 默认:false,进度条起始位置
                gradientBarColor: const LinearGradient(
                  begin: Alignment.topRight,
                  end: Alignment.bottomLeft,
                  colors: <Color>[Colors.red, Colors.amber],
                  tileMode: TileMode.repeated,
                ), // 默认:null,如果传递了渐变颜色,则会用作主进度条的颜色
                child: Center(
                  child: Text(
                    _percentageLabel,
                    style: const TextStyle(fontWeight: FontWeight.bold),
                  ),
                ),
              ),
              Positioned(
                bottom: 20,
                child: Slider(
                  min: 0.0,
                  max: 1.0,
                  activeColor: Colors.orange,
                  inactiveColor: Colors.orange.withOpacity(0.2),
                  thumbColor: Colors.orange,
                  value: _progress,
                  onChanged: (value) {
                    setState(() {
                      _progress = value;
                      final int percentage = (_progress * 100).toInt();
                      _percentageLabel = "$percentage%";
                    });
                  },
                ),
              )
            ],
          ),
        ),
      ),
    );
  }
}

这段代码展示了如何结合 Slider 控件来动态更新 SquareProgressBar 的进度,并通过文本显示当前的百分比。希望这对您有所帮助!


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

1 回复

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


当然,下面是一个关于如何在Flutter项目中使用square_progress_bar插件来展示进度条的代码示例。这个插件允许你以不同的样式展示进度条。

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

dependencies:
  flutter:
    sdk: flutter
  square_progress_bar: ^0.0.3  # 请检查最新版本号并替换

然后,运行flutter pub get来获取依赖。

接下来,在你的Flutter应用中使用这个插件。以下是一个完整的示例,展示如何在一个简单的Flutter应用中集成并使用square_progress_bar

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Square Progress Bar Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: SquareProgressBarScreen(),
    );
  }
}

class SquareProgressBarScreen extends StatefulWidget {
  @override
  _SquareProgressBarScreenState createState() => _SquareProgressBarScreenState();
}

class _SquareProgressBarScreenState extends State<SquareProgressBarScreen> with SingleTickerProviderStateMixin {
  double _progress = 0.0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Square Progress Bar Demo'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            SquareProgressBar(
              progress: _progress,
              color: Colors.blue,
              backgroundColor: Colors.grey[200]!,
              size: 100.0,
              borderRadius: 10.0,
            ),
            SizedBox(height: 20.0),
            ElevatedButton(
              onPressed: () {
                setState(() {
                  _progress += 0.1;
                  if (_progress >= 1.0) {
                    _progress = 0.0;
                  }
                });
              },
              child: Text('Increase Progress'),
            ),
          ],
        ),
      ),
    );
  }
}

在这个示例中:

  1. 我们首先添加了square_progress_bar依赖。
  2. 创建了一个简单的Flutter应用,其中包含一个进度条和一个按钮。
  3. 使用SquareProgressBar小部件来显示进度条,并设置了一些属性,如progresscolorbackgroundColorsizeborderRadius
  4. 使用一个按钮来增加进度条的值,并在每次点击时调用setState方法来更新UI。

你可以根据需要调整进度条的各种属性,以实现不同的视觉效果。确保在实际使用中检查并更新到最新版本的square_progress_bar插件,以获取最新的功能和修复。

回到顶部