【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度

【Flutter】Flutter 使用 percent_indicator 实现基于百分比显示进度

文章目录

    • 一、前言
    • 二、安装和基本使用
    • 三、圆形百分比指示器
    • 四、线性百分比指示器
    • 五、完整示例
    • 六、总结

一、前言

今天我要为你介绍一个非常实用的Flutter包——percent_indicator。这个包允许我们基于百分比显示进度,无论是圆形还是线性的,都可以轻松实现。而且,你还可以根据自己的需求进行自定义哦!在这篇文章中,我将手把手地教你如何使用它,并给出实际业务中的代码示例。

本文重点:

  • 如何安装和基本使用percent_indicator
  • 圆形和线性百分比指示器的使用方法。
  • 根据实际业务场景给出的完整代码示例。

🚀 Flutter 从零到一:基础入门到应用上线全攻略 正在热烈招募参与者!

✅ 这个专栏不仅包括了全面的 Flutter 学习资源,还有实用的代码示例和深入的解析教程。
✅ 专栏内容会持续更新,价格也会随之上涨。现在加入,享受最优惠的价格,抓住属于你的机会!
✅ 想要与其他 Flutter 学习者互动交流吗?点击这里 加入我们的讨论群,一起成长、一起进步。

别再等待,让我们今天就启程,共同开启 Flutter 的精彩学习之旅吧!

二、安装和基本使用

首先,你需要确保在你的Flutter项目中添加了percent_indicator作为依赖。

dependencies:percent_indicator: ^4.0.1

然后,运行 flutter packages upgrade 或在IntelliJ中更新你的包。

要使用这个包,你需要在使用它的dart文件中导入它:

import 'package:percent_indicator/percent_indicator.dart';

三、圆形百分比指示器

圆形百分比指示器是一个非常直观的方式来显示进度。你可以自定义其大小、线宽、颜色等属性。

基本的使用方法如下:

new CircularPercentIndicator(radius: 60.0,lineWidth: 5.0,percent: 1.0,center: new Text("100%"),progressColor: Colors.green,
)

在上面的代码中,我们创建了一个半径为60.0,线宽为5.0,进度为100%的圆形百分比指示器。进度颜色为绿色。

好的,接下来我将继续编写第四、五、六节的内容。


四、线性百分比指示器

线性百分比指示器提供了一个水平的方式来展示进度。与圆形指示器一样,你可以自定义其宽度、线高、颜色等属性。

基本的使用方法如下:

new LinearPercentIndicator(width: 140.0,lineHeight: 14.0,percent: 0.5,backgroundColor: Colors.grey,progressColor: Colors.blue,
)

在上面的代码中,我们创建了一个宽度为140.0,线高为14.0,进度为50%的线性百分比指示器。背景颜色为灰色,进度颜色为蓝色。

五、完整示例

为了让你更好地理解如何在实际业务中使用这个包,我为你准备了一个完整的示例。这个示例将展示如何在一个页面中同时使用圆形和线性的百分比指示器。

import 'package:flutter/material.dart';
import 'package:percent_indicator/percent_indicator.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {Widget build(BuildContext context) {return MaterialApp(title: 'Percent Indicator Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: MyHomePage(),);}
}class MyHomePage extends StatelessWidget {Widget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Percent Indicator Demo'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[CircularPercentIndicator(radius: 100.0,lineWidth: 10.0,percent: 0.8,center: Icon(Icons.mood,size: 50.0,color: Colors.blue,),progressColor: Colors.blue,),SizedBox(height: 20),LinearPercentIndicator(width: 200.0,lineHeight: 14.0,percent: 0.7,center: Text("70.0%",style: TextStyle(fontSize: 12.0),),progressColor: Colors.green,),],),),);}
}

运行结果如下:

六、总结

percent_indicator 是一个非常实用的Flutter包,无论你是想要展示圆形还是线性的进度,它都可以帮助你轻松实现。希望通过这篇文章,你已经掌握了如何使用它。记得在实际的项目中多加练习,这样你会更加熟练。

这是小雨青年于 2023 年发布在 CSDN 的博客,由于目前采集站侵权行为猖獗,如果你不是在 CSDN 看到本文,麻烦你通过 CSDN 联系我,谢谢你的支持。

对 Flutter 感兴趣,渴望深入探索和学习吗?Flutter 从零到一:基础入门到应用上线全攻略 正是你的完美起点!

📘 在这个专栏中,你将发现丰富的 Flutter 学习资源,从代码示例到深入的技术解读,一应俱全。
🛠️ 想要了解如何用 Flutter 构建出色的应用吗?所有的秘诀和答案都在我们的专栏里等着你!
💰 别再犹豫,专栏内容将不断更新,价格也将逐渐上涨。现在就加入,享受最优惠的价格,开启你的 Flutter 探索之旅!

想了解更多?点击这里查看 Flutter Developer 101:入门小册 & 专栏指引

👥 还有,别忘了点击这里 加入我们的讨论群,与其他 Flutter 爱好者一起交流和学习,共同成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/95288.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ES6】Promise.allSettled的用法

Promise.allSettled() 是一个Promise方法&#xff0c;用于处理一个Promise数组&#xff0c;返回一个新的Promise数组&#xff0c;每个元素对应原始Promise的状态。这个方法可以用于处理多个异步操作&#xff0c;并且能够获取每个操作的结果和状态。 下面是Promise.allSettled(…

10. selenium API (二)

目录 1. 多层框架/窗口定位 2. 下拉框处理 2.1 前端界面 2.2 代码 3. 针对 alert 弹窗进行操作 3.1 前端界面 3.2 代码 4. 文件提交 4.1 前端界面 4.2 代码 5. 显示等待 6. 操作浏览器滚动条 7. 截图 8. 浏览器关闭 9. 窗口切换 在上篇文章中&#xff0c;我们学…

自动化运维工具-----Ansible入门详解

目录 一.Ansible简介 什么是Ansible&#xff1f; Ansible的特点 Ansible的架构 二.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程 三.Ansible配置解析 ansible的安装方式 ansible的程序结构&#xff08;yum安装为例&#xff09; ansibl…

文心一言接入Promptulate,开发复杂LLM应用程序

简介 最近在尝试将文心一言的LLM能力接入Promptulate&#xff0c;故写了一篇博客记录一下&#xff0c;Promptulate 是 Promptulate AI 旗下的大语言模型自动化与应用开发框架&#xff0c;旨在帮助开发者通过更小的成本构建行业级的大模型应用&#xff0c;其包含了LLM领域应用层…

数据结构 day6

1->xmind 2->递归实现程序&#xff1a;输入一个数&#xff0c;输出该数的每一位

Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

最近在用django框架开发后端时&#xff0c;在运行 $python manage.py makemigrations 命令时&#xff0c;报了以上错误&#xff0c;错误显示连接mysql数据库失败&#xff0c;查看了mysql数据库初始化配置文件my.cnf&#xff0c;我的mysql.sock文件存放路径配置在了/usr/local…

【python爬虫】9.带着小饼干登录(cookies)

文章目录 前言项目&#xff1a;发表博客评论post请求 cookies及其用法session及其用法存储cookies读取cookies复习 前言 第1-8关我们学习的是爬虫最为基础的知识&#xff0c;从第9关开始&#xff0c;我们正式打开爬虫的进阶之门&#xff0c;学习爬虫更多的精进知识。 在前面几…

无涯教程-Android - DatePicker函数

Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。 在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。 为了显示DatePicker…

【C++深入浅出】类和对象上篇(类的基础、类的模型以及this指针)

目录 一. 前言 二. 面向对象与面向过程 2.1 面向过程 2.2 面向对象 三. 类的基础知识 3.1 类的引入 3.2 类的定义 3.3 成员变量的命名规则 3.4 封装 3.5 类的访问限定符 3.6 类的作用域 3.7 类的实例化 四. 类的对象模型 4.1 类对象的大小 4.2 类对象的存储方式 …

查看GPU占用率

如何监控NVIDIA GPU 的运行状态和使用情况_nvidia 85c_LiBiGo的博客-CSDN博客设备跟踪和管理正成为机器学习工程的中心焦点。这个任务的核心是在模型训练过程中跟踪和报告gpu的使用效率。有效的GPU监控可以帮助我们配置一些非常重要的超参数&#xff0c;例如批大小&#xff0c;…

RNN 单元:分析 GRU 方程与 LSTM,以及何时选择 RNN 而不是变压器

一、说明 深度学习往往感觉像是在雪山上找到自己的道路。拥有坚实的原则会让你对做出决定更有信心。我们都去过那里 在上一篇文章中&#xff0c;我们彻底介绍并检查了 LSTM 单元的各个方面。有人可能会争辩说&#xff0c;RNN方法已经过时了&#xff0c;研究它们是没有意义的。的…

PY32F003F18P单片机概述

PY32F003F18P单片机是普冉的一款ARM微控制器&#xff0c;内核是Cortex-M0。这个单片机的特色&#xff0c;就是价格便宜&#xff0c;FLASH和SRAM远远超过8位单片机&#xff0c;市场竞争力很强大。 一、硬件资源&#xff1a; 1)、FLASH为64K字节&#xff1b; 2)、SRAM为8K字节&…