Flutter加载指示器插件loading_indicator的使用
Flutter加载指示器插件loading_indicator的使用
loading_indicator
是一个纯Dart编写的Flutter插件,提供了多种开箱即用的加载动画效果。它不需要额外的依赖,灵感来源于 loaders.css 和 NVActivityIndicatorView。
安装
要使用 loading_indicator
插件,首先需要在项目的 pubspec.yaml
文件中添加依赖:
dependencies:
loading_indicator: ^最新版本号 # 请到 [pub.dev](https://pub.dev/packages/loading_indicator) 查看最新版本
然后执行 flutter pub get
来安装插件。
使用方法
基本用法
LoadingIndicator
组件可以通过简单的参数配置来创建各种各样的加载动画。下面是一个基本的例子:
import 'package:flutter/material.dart';
import 'package:loading_indicator/loading_indicator.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'LoadingIndicator Example',
home: Scaffold(
appBar: AppBar(
title: Text('LoadingIndicator Example'),
),
body: Center(
child: LoadingIndicator(
indicatorType: Indicator.ballPulse, // Required, 加载类型
colors: const [Colors.blue], // Optional, 颜色集合
strokeWidth: 2, // Optional, 线条宽度
backgroundColor: Colors.white, // Optional, 背景颜色
pathBackgroundColor: Colors.grey, // Optional, 路径背景颜色
),
),
),
);
}
}
动画类型
loading_indicator
提供了30多种不同的加载动画类型,如 ballPulse
, ballGridPulse
, ballClipRotate
等等。你可以在官方文档查看所有支持的动画效果和预览。
示例代码解析
以下是从提供的示例代码中提取的关键部分,并进行了简化以更好地理解如何使用 loading_indicator
:
import 'package:flutter/material.dart';
import 'package:loading_indicator/loading_indicator.dart';
const List<Color> _kDefaultRainbowColors = [
Colors.red,
Colors.orange,
Colors.yellow,
Colors.green,
Colors.blue,
Colors.indigo,
Colors.purple,
];
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'LoadingIndicator Demo',
home: MainWidget(),
);
}
}
class MainWidget extends StatelessWidget {
void _showSingleAnimationDialog(BuildContext context, Indicator indicator) {
Navigator.push(
context,
MaterialPageRoute(
builder: (ctx) {
return Scaffold(
appBar: AppBar(
title: Text(indicator.toString().split('.').last),
),
body: Center(
child: LoadingIndicator(
indicatorType: indicator,
colors: _kDefaultRainbowColors,
strokeWidth: 4.0,
),
),
);
},
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('选择动画'),
),
body: ListView.builder(
itemBuilder: (ctx, index) {
return ListTile(
title: Text(Indicator.values[index].toString().split('.').last),
onTap: () => _showSingleAnimationDialog(context, Indicator.values[index]),
);
},
itemCount: Indicator.values.length,
),
);
}
}
这段代码展示了如何在一个列表中展示所有的动画类型,并允许用户点击列表项来预览相应的加载动画。
通过以上的介绍和示例代码,你应该能够快速上手并集成 loading_indicator
到你的Flutter项目中,为用户提供更好的加载体验。如果你有任何问题或需要进一步的帮助,请随时提问!
更多关于Flutter加载指示器插件loading_indicator的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复