Flutter进度条展示插件shiny_striped_progress_bar的使用
Flutter进度条展示插件 shiny_striped_progress_bar
的使用
shiny_striped_progress_bar
是一个开源的 Flutter 包,提供了带有条纹和闪耀效果的动画进度条。以下是该插件的详细使用指南。
特性
- 进度变化时平滑的动画。
- 可自定义颜色和角度的条纹设计。
- 可配置的闪耀效果以增强视觉吸引力。
- 完全可定制的高度、颜色、圆角半径等属性。
- 响应动态变化的
targetProgress
并带有动画效果。
开始使用
安装
在你的 pubspec.yaml
文件中添加以下内容:
dependencies:
flutter:
sdk: flutter
shiny_striped_progress_bar: ^1.1.0
然后在 Dart 代码中导入包:
import 'package:shiny_striped_progress_bar/shiny_striped_progress_bar.dart';
基本示例
自定义颜色
设置进度条的颜色、背景色和条纹颜色:
ShinyStripedProgressBar(
targetProgress: 0.7,
backgroundColor: Colors.grey.shade300,
progressColor: Colors.blue,
stripeColor: Colors.white,
);
自定义条纹角度
调整条纹的角度来创建独特的设计。可以选择三个预定义的角度:45°, 90° 和 135°。
ShinyStripedProgressBar(
targetProgress: 0.6,
stripeAngle: StripeAngle.angle30,
stripeColor: Colors.orange,
);
闪耀效果
闪耀效果会在进度条上动态移动:
ShinyStripedProgressBar(
targetProgress: 0.5,
stripeColor: Colors.cyan,
);
圆角半径
调整圆角半径来创建圆角进度条:
ShinyStripedProgressBar(
targetProgress: 0.9,
borderRadius: BorderRadius.circular(10),
);
参数描述
参数 | 类型 | 默认值 | 描述 |
---|---|---|---|
targetProgress |
double |
必需 | 进度级别,范围是 0.0 到 1.0。 |
duration |
Duration |
Duration(milliseconds: 1000) |
动画持续时间。 |
height |
double |
40 |
进度条的高度。 |
backgroundColor |
Color |
Colors.grey.shade300 |
进度条的背景颜色。 |
progressColor |
Color |
Colors.blue |
进度条的颜色。 |
stripeColor |
Color |
Colors.white |
条纹的颜色。 |
stripeAngle |
StripeAngle |
StripeAngle.angle45 |
条纹的角度。 |
enableShineEffect |
bool |
true |
是否启用闪耀效果。 |
borderRadius |
BorderRadius |
BorderRadius.circular(5) |
进度条四个角的圆角半径。 |
示例 Demo
以下是一个完整的示例 demo,展示了如何使用 shiny_striped_progress_bar
包:
import 'package:flutter/material.dart';
import 'package:shiny_striped_progress_bar/shiny_striped_progress_bar.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Shiny Striped Progress Bar Example',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.greenAccent),
useMaterial3: true,
),
home: const MyHomePage(title: 'Shiny Striped Progress Bar Example'),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
double _progress = 0.2;
void _increaseProgress() {
setState(() {
_progress += 0.2;
if (_progress > 1.0) _progress = 0.0;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ShinyStripedProgressBar(
targetProgress: _progress,
backgroundColor: Colors.grey.shade300,
progressColor: Colors.blue,
stripeColor: Colors.white,
stripeAngle: StripeAngle.angle45,
enableShineEffect: true,
borderRadius: BorderRadius.circular(10),
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: _increaseProgress,
child: const Text('Increase Progress'),
),
],
),
),
);
}
}
这个示例演示了如何创建一个带有自定义颜色、条纹角度、闪耀效果和圆角半径的进度条,并且可以通过按钮动态改变进度。希望这对你有所帮助!
更多关于Flutter进度条展示插件shiny_striped_progress_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter进度条展示插件shiny_striped_progress_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter应用中使用shiny_striped_progress_bar
插件来展示进度条的代码示例。这个插件允许你创建一个带有闪亮条纹效果的进度条。
首先,确保你已经在pubspec.yaml
文件中添加了shiny_striped_progress_bar
依赖:
dependencies:
flutter:
sdk: flutter
shiny_striped_progress_bar: ^最新版本号 # 请将“最新版本号”替换为实际的最新版本号
然后,运行flutter pub get
来安装依赖。
接下来是一个完整的Flutter应用示例,展示如何使用shiny_striped_progress_bar
:
import 'package:flutter/material.dart';
import 'package:shiny_striped_progress_bar/shiny_striped_progress_bar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Shiny Striped Progress Bar Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: ProgressBarScreen(),
);
}
}
class ProgressBarScreen extends StatefulWidget {
@override
_ProgressBarScreenState createState() => _ProgressBarScreenState();
}
class _ProgressBarScreenState extends State<ProgressBarScreen> with SingleTickerProviderStateMixin {
double _progress = 0.0;
@override
void initState() {
super.initState();
_startProgress();
}
void _startProgress() {
// 模拟进度增加
Timer.periodic(Duration(milliseconds: 100), (timer) {
setState(() {
_progress += 0.01;
if (_progress >= 1.0) {
timer.cancel();
}
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Shiny Striped Progress Bar'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ShinyStripedProgressBar(
progress: _progress,
barBackgroundColor: Colors.grey[200]!,
barStripeColor: Colors.blue,
height: 30,
width: double.infinity,
borderRadius: 25,
),
SizedBox(height: 20),
Text('Progress: ${(_progress * 100).toInt()}%'),
],
),
),
);
}
}
在这个示例中,我们创建了一个简单的Flutter应用,其中包含一个ProgressBarScreen
页面。这个页面展示了一个使用ShinyStripedProgressBar
的进度条,并且每秒增加1%的进度,直到达到100%。
代码解释
-
依赖导入:
package:flutter/material.dart
:Flutter的Material Design组件库。package:shiny_striped_progress_bar/shiny_striped_progress_bar.dart
:shiny_striped_progress_bar
插件。
-
MyApp:
MaterialApp
:定义应用的主题和首页。
-
ProgressBarScreen:
StatefulWidget
:一个状态管理组件,用于管理进度条的状态。_startProgress
方法:使用Timer.periodic
每秒更新一次进度。
-
ShinyStripedProgressBar:
progress
:进度值,范围从0到1。barBackgroundColor
:进度条的背景颜色。barStripeColor
:进度条的条纹颜色。height
:进度条的高度。width
:进度条的宽度。borderRadius
:进度条的圆角半径。
运行这个代码后,你会看到一个带有闪亮条纹效果的进度条,并且它会随着时间逐渐填满。你可以根据需求调整进度条的颜色、高度、宽度等属性。