Flutter渐变圆形加载器插件circular_gradient_spinner的使用

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

Flutter渐变圆形加载器插件circular_gradient_spinner的使用

简介

circular_gradient_spinner 是一个 Flutter 插件,提供了一个可自定义、动画化的渐变圆形进度指示器。CircularGradientSpinner 非常适合为您的 Flutter 应用程序添加视觉上吸引人且信息丰富的进度指示器。

Demo GIF 1 Demo GIF 3

特性

  • 可自定义的渐变: 轻松自定义渐变的颜色。
  • 动画控制: 带有内置动画,可以根据需要进行自定义或控制。
  • 高度可自定义: 调整大小、描边宽度、渐变步数等。

入门

要使用此插件,需要在 pubspec.yaml 文件中添加 circular_gradient_spinner 作为依赖项。

dependencies:
  circular_gradient_spinner: ^1.0.0

示例代码

以下是一个简单的示例,展示了如何在 Flutter 应用程序中使用 CircularGradientSpinner

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Circular Gradient Spinner'),
        ),
        body: Center(
          child: CircularGradientSpinner(
            color: Colors.blue,
            size: 200,
            strokeWidth: 20,
          ),
        ),
      ),
    );
  }
}

自定义

CircularGradientSpinner 可以通过以下参数进行自定义:

  • color: 渐变的基本颜色。
  • size: 圆的直径。
  • strokeWidth: 描边的宽度。
  • duration: 动画的持续时间。
  • gradientSteps: 渐变的步数。

更多示例

以下是一个更复杂的示例,展示了如何使用更多的自定义选项。

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

void main(List<String> args) {
  runApp(const MainApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        useMaterial3: false,
      ),
      home: const PaintApp(),
    );
  }
}

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

  @override
  State<PaintApp> createState() => _PaintAppState();
}

class _PaintAppState extends State<PaintApp> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Progress'),
      ),
      body: const CircularGradientSpinner(
        color: Colors.black,
        size: 200,
        strokeWidth: 30,
        spinnerDirection: SpinnerDirection.clockwise,
        duration: Duration(seconds: 2),
        gradientSteps: 10,
      ),
    );
  }
}

贡献

贡献使开源社区成为一个学习、启发和创造的绝佳场所。非常感谢您的任何贡献。

如果您有任何改进建议,请 fork 仓库并创建一个 pull request。您也可以直接打开一个带有 “enhancement” 标签的问题。 别忘了给项目点个星!谢谢!

Fork 项目

  1. 创建您的功能分支(git checkout -b feature/AmazingFeature
  2. 提交您的更改(git commit -m 'Add some AmazingFeature'
  3. 推送到分支(git push origin feature/AmazingFeature
  4. 打开一个 Pull Request

许可证

本项目采用 MIT 许可证,详情请参见 LICENSE 文件。

联系方式


更多关于Flutter渐变圆形加载器插件circular_gradient_spinner的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter渐变圆形加载器插件circular_gradient_spinner的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用circular_gradient_spinner插件来实现一个渐变圆形加载器的代码示例。

首先,确保你已经在pubspec.yaml文件中添加了circular_gradient_spinner依赖:

dependencies:
  flutter:
    sdk: flutter
  circular_gradient_spinner: ^最新版本号 # 请替换为实际发布的最新版本号

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

接下来,在你的Flutter项目中,你可以按照以下步骤使用CircularGradientSpinner

  1. 导入包

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

import 'package:circular_gradient_spinner/circular_gradient_spinner.dart';
  1. 使用CircularGradientSpinner

下面是一个完整的示例,展示了如何在Flutter应用中使用CircularGradientSpinner

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Circular Gradient Spinner Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  bool isLoading = false;

  void startLoading() {
    setState(() {
      isLoading = true;
    });
    // 模拟加载过程,3秒后停止加载
    Future.delayed(Duration(seconds: 3), () {
      setState(() {
        isLoading = false;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Circular Gradient Spinner Demo'),
      ),
      body: Center(
        child: isLoading
            ? CircularGradientSpinner(
                // 配置渐变颜色
                colors: [Colors.blue, Colors.green, Colors.yellow],
                // 配置圆圈的宽度
                width: 50.0,
                // 配置圆圈的厚度
                thickness: 4.0,
                // 配置动画持续时间
                duration: Duration(milliseconds: 1200),
              )
            : ElevatedButton(
                onPressed: startLoading,
                child: Text('Start Loading'),
              ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个按钮。当点击按钮时,会显示一个渐变圆形加载器。加载器会在3秒后自动停止。

代码解释

  • CircularGradientSpinner构造函数参数

    • colors:一个List<Color>,定义了渐变的颜色。
    • width:加载器的宽度。
    • thickness:加载器圆圈的厚度。
    • duration:动画的持续时间。
  • 状态管理

    • 使用bool isLoading来跟踪加载状态。
    • 当点击按钮时,调用startLoading方法来更新状态并开始加载。
    • 使用Future.delayed模拟一个异步操作,3秒后停止加载。

希望这个示例能帮助你理解如何在Flutter项目中使用circular_gradient_spinner插件。如果你有任何其他问题,欢迎继续提问!

回到顶部