Flutter应用加载指示器插件flutter_app_loading_indicator的使用
AppLoading

A customizable, easy-to-use loading overlay for Flutter applications using Lottie animations.
特性
- 🎭 支持Lottie动画,视觉效果吸引人。
- 🎨 可自定义背景颜色。
- 🔄 使用单例模式,确保在整个应用中的一致性。
- 🚀 提供简单的show/dismiss API,并扩展了BuildContext以方便使用。
- 🛡️ 处理边缘情况,如多次调用show或尝试关闭不存在的overlay。
- 📏 可调整动画大小。
开始使用
要使用此包,请在pubspec.yaml
文件中添加app_loading
作为依赖项:
dependencies:
app_loading: ^1.0.0
然后运行以下命令获取依赖:
flutter pub get
同时,你需要将你的Lottie动画文件添加到pubspec.yaml
中:
assets:
- assets/your_loading_animation.json
使用方法
初始化
首先,在main.dart
文件中初始化AppLoading:
import 'package:app_loading/app_loading.dart';
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
/// 初始化加载器
AppLoading.initialize(
lottieAssetName: 'assets/your_loading_animation.json', // Lottie动画文件路径
backgroundColor: Colors.black.withOpacity(0.5), // 背景颜色
);
}
显示加载覆盖层
你可以在应用程序的任何位置通过BuildContext扩展来显示加载覆盖层:
context.showLoading(); // 默认大小
如果需要自定义Lottie动画的大小:
context.showLoading(width: 200, height: 200); // 自定义宽度和高度
关闭加载覆盖层
要关闭加载覆盖层:
context.dismissLoading();
示例代码
以下是一个简单的示例,展示如何在按钮点击时使用AppLoading:
import 'package:flutter/material.dart';
import 'package:app_loading/app_loading.dart';
class MyHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('AppLoading Example')),
body: Center(
child: ElevatedButton(
child: Text('Load Data'), // 按钮文字
onPressed: () async {
context.showLoading(); // 显示加载指示器
try {
await Future.delayed(Duration(seconds: 3)); // 模拟异步操作
// 在此处执行实际的数据加载逻辑
} finally {
context.dismissLoading(); // 确保无论成功与否都关闭加载指示器
}
},
),
),
);
}
}
高级用法
自定义初始化
你可以通过传递额外的参数进一步定制AppLoading实例:
AppLoading.initialize(
lottieAssetName: 'assets/your_loading_animation.json',
backgroundColor: Colors.blue.withOpacity(0.3),
defaultWidth: 150, // 默认宽度
defaultHeight: 150, // 默认高度
);
检查覆盖层状态
你可以检查当前是否正在显示加载覆盖层:
bool isVisible = AppLoading.instance.isOverlayVisible; // 返回布尔值
更多关于Flutter应用加载指示器插件flutter_app_loading_indicator的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter应用加载指示器插件flutter_app_loading_indicator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
flutter_app_loading_indicator
是一个用于在 Flutter 应用中显示加载指示器的插件。它可以帮助你在应用执行耗时操作时,显示一个加载动画,以提升用户体验。
安装插件
首先,你需要在 pubspec.yaml
文件中添加 flutter_app_loading_indicator
插件的依赖:
dependencies:
flutter:
sdk: flutter
flutter_app_loading_indicator: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
基本用法
-
导入插件:
在你的 Dart 文件中导入插件:
import 'package:flutter_app_loading_indicator/flutter_app_loading_indicator.dart';
-
显示加载指示器:
你可以使用
AppLoadingIndicator.show()
来显示加载指示器:AppLoadingIndicator.show(context);
-
隐藏加载指示器:
使用
AppLoadingIndicator.hide()
来隐藏加载指示器:AppLoadingIndicator.hide();
示例代码
以下是一个简单的示例,展示了如何在按钮点击时显示加载指示器,并在 3 秒后隐藏它:
import 'package:flutter/material.dart';
import 'package:flutter_app_loading_indicator/flutter_app_loading_indicator.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Loading Indicator Example'),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 显示加载指示器
AppLoadingIndicator.show(context);
// 模拟耗时操作
await Future.delayed(Duration(seconds: 3));
// 隐藏加载指示器
AppLoadingIndicator.hide();
},
child: Text('Show Loading Indicator'),
),
),
),
);
}
}
自定义加载指示器
flutter_app_loading_indicator
允许你自定义加载指示器的样式。你可以通过传递 indicator
参数来使用自定义的加载指示器:
AppLoadingIndicator.show(
context,
indicator: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
),
);
其他功能
- 设置背景颜色:你可以通过
backgroundColor
参数设置加载指示器的背景颜色。 - 设置指示器大小:通过
indicatorSize
参数可以设置指示器的大小。
AppLoadingIndicator.show(
context,
backgroundColor: Colors.black.withOpacity(0.5),
indicatorSize: 50.0,
);