Flutter无限循环加载动画插件circular_infinity_loader的使用

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

Flutter无限循环加载动画插件circular_infinity_loader的使用

circular_infinity_loader 包为 Flutter 提供了一个名为 CircularInfinityLoader 的小部件,该小部件展示了一个视觉上吸引人的圆形加载器,并具有无限循环效果。用户可以自定义加载器的颜色以匹配其 UI 主题。该包利用了 Flutter 的动画功能来实现平滑且动态的加载器动画,从而在加载或处理任务时提升用户体验。


特性

以下是 circular_infinity_loader 包的功能:

  1. 圆形加载器:展示一个圆形加载器小部件。
  2. 无限循环动画:具有外环和移动点的动画循环效果,创造出无限循环的效果。
  3. 可定制颜色:用户可以根据其 UI 主题来自定义加载器的颜色。
  4. 平滑动画:利用 Flutter 的动画功能,提供平滑且动态的加载器动画。
  5. 易于集成:可以轻松地将 CircularInfinityLoader 小部件集成到 Flutter 应用程序中,以指示加载或处理任务。
  6. 灵活尺寸:加载器小部件的大小可以根据不同的布局需求进行调整。
  7. 高度可定制:用户可以通过修改诸如描边宽度、模糊效果和动画持续时间等参数来进一步定制加载器的外观。
  8. 可重用性:该包提供了一个可重复使用的组件,可以在 Flutter 应用程序的多个屏幕或组件中使用。

开始使用

添加包依赖

打开项目的 pubspec.yaml 文件,并添加 circular_infinity_loader 包作为依赖项:

dependencies:
  flutter:
    sdk: flutter
  circular_infinity_loader: ^0.0.1  # 替换为最新版本

运行 flutter pub get 来获取依赖。

导入包

在 Dart 代码中导入包:

import 'package:circular_infinity_loader/circular_infinity_loader.dart';

使用加载器

在构建方法中使用 CircularInfinityLoader 小部件:

[@override](/user/override)
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text('我的应用'),
    ),
    body: Center(
      child: CircularInfinityLoader(color: Colors.blue), // 自定义颜色
    ),
  );
}

示例代码

以下是一个完整的示例代码,展示了如何在 Flutter 应用程序中使用 CircularInfinityLoader 小部件。

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

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: '圆形无限加载器'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;
  const MyHomePage({super.key, required this.title});

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: const Center(
        child: CircularInfinityLoader(color: Colors.deepPurple),
      ), // 这个逗号使自动格式化更美观
    );
  }
}

更多关于Flutter无限循环加载动画插件circular_infinity_loader的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter无限循环加载动画插件circular_infinity_loader的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter应用中使用circular_infinity_loader插件来实现无限循环加载动画的示例代码。

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

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

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

接下来,你可以在你的Dart文件中使用CircularInfinityLoader。下面是一个完整的示例代码,展示如何在Flutter应用中实现无限循环加载动画:

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

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

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

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

class _MyHomePageState extends State<MyHomePage> {
  bool isLoading = true; // 控制加载动画的显示与隐藏

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Circular Infinity Loader Demo'),
      ),
      body: Center(
        child: isLoading
            ? CircularInfinityLoader(
                loaderColor: Colors.blue, // 加载动画的颜色
                loaderSize: 50.0,         // 加载动画的大小
              )
            : Text('Loading Complete!'), // 加载完成后的显示内容
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          // 模拟异步加载操作,5秒后停止加载动画
          Future.delayed(Duration(seconds: 5), () {
            setState(() {
              isLoading = false;
            });
          });
        },
        tooltip: 'Start Loading',
        child: Icon(Icons.play_arrow),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个CircularInfinityLoader加载动画。isLoading变量控制加载动画的显示与隐藏。点击浮动操作按钮(FAB)后,将启动一个5秒的延时操作,模拟异步加载,5秒后加载动画停止并显示“Loading Complete!”文本。

你可以根据需要调整loaderColorloaderSize等参数,以适应你的应用风格。

希望这个示例代码能帮助你更好地理解和使用circular_infinity_loader插件!

回到顶部