Flutter圆形进度条插件circular_bar的使用
Flutter圆形进度条插件circular_bar的使用
在本教程中,我们将展示如何在Flutter应用程序中使用circular_bar
插件来创建一个圆形进度条。我们将提供一个完整的示例代码,以帮助你快速上手。
示例代码
import 'package:flutter/material.dart';
import 'package:circular_bar/circular_bar.dart'; // 引入 circular_bar 插件
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
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.0; // 进度值
void updateProgress(double value) {
setState(() {
progress = value;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
CircularPercentIndicator(
radius: 100.0,
lineWidth: 10.0,
percent: progress,
center: Text("${(progress * 100).toInt()}%"),
progressColor: Colors.blue,
backgroundColor: Colors.grey,
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
updateProgress(progress + 0.1); // 每次点击增加进度
},
child: Text('增加进度'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () {
updateProgress(0.0); // 重置进度
},
child: Text('重置进度'),
),
],
),
),
);
}
}
代码解释
-
导入库:
import 'package:circular_bar/circular_bar.dart';
这行代码用于引入
circular_bar
插件,该插件提供了创建圆形进度条的功能。 -
定义主应用类:
class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'Flutter Demo Home Page'), ); } }
-
定义主页类:
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.0; // 定义进度变量 void updateProgress(double value) { setState(() { progress = value; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ CircularPercentIndicator( radius: 100.0, lineWidth: 10.0, percent: progress, center: Text("${(progress * 100).toInt()}%"), progressColor: Colors.blue, backgroundColor: Colors.grey, ), SizedBox(height: 20), ElevatedButton( onPressed: () { updateProgress(progress + 0.1); // 增加进度 }, child: Text('增加进度'), ), SizedBox(height: 20), ElevatedButton( onPressed: () { updateProgress(0.0); // 重置进度 }, child: Text('重置进度'), ), ], ), ), ); } }
更多关于Flutter圆形进度条插件circular_bar的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter圆形进度条插件circular_bar的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
circular_bar
是 Flutter 中一个用于显示圆形进度条的插件。它可以帮助你在应用程序中创建美观的圆形进度条,用于展示加载进度、完成度等信息。以下是如何使用 circular_bar
插件的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 circular_bar
插件的依赖:
dependencies:
flutter:
sdk: flutter
circular_bar: ^1.0.0 # 请确保使用最新版本
然后运行 flutter pub get
来获取依赖。
2. 导入插件
在你的 Dart 文件中导入 circular_bar
插件:
import 'package:circular_bar/circular_bar.dart';
3. 使用 CircularBar
你可以使用 CircularBar
小部件来创建一个圆形进度条。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:circular_bar/circular_bar.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Circular Bar Example'),
),
body: Center(
child: CircularBar(
progress: 75, // 进度值,范围是 0 到 100
radius: 100, // 圆的半径
color: Colors.blue, // 进度条的颜色
backgroundColor: Colors.grey, // 背景颜色
strokeWidth: 10, // 进度条的宽度
animationDuration: Duration(seconds: 2), // 动画持续时间
),
),
),
);
}
}
4. 参数说明
CircularBar
小部件支持以下参数:
progress
: 进度值,范围是 0 到 100。radius
: 圆的半径。color
: 进度条的颜色。backgroundColor
: 背景颜色。strokeWidth
: 进度条的宽度。animationDuration
: 进度条动画的持续时间。
5. 自定义
你可以根据需要自定义 CircularBar
的外观和行为。例如,你可以使用 LinearGradient
来设置渐变色的进度条,或者使用 CircularBar
的其他参数来调整动画效果。
CircularBar(
progress: 75,
radius: 100,
color: LinearGradient(
colors: [Colors.blue, Colors.green],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
backgroundColor: Colors.grey[300],
strokeWidth: 15,
animationDuration: Duration(seconds: 3),
),