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

news/2024/7/20 23:00:19 标签: flutter, 前端, android, ios, 开发语言

【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.niftyadmin.cn/n/4997011.html

相关文章

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理&#xff0c;从企业内部的各个业务环境总体掌握&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…

Css 设置从上到下的渐变色: 0到70%为yellow,然后线性地变成透明。

您可以使用 CSS 的 linear-gradient() 函数来创建从上到下的渐变色。以下是一个例子&#xff1a; background: linear-gradient(to bottom, yellow 0%, transparent 70%);这将从上到下创建一个渐变色&#xff0c;从 0% 到 70% 是黄色&#xff0c;然后线性地变成透明。您可以将…

瑞芯微:基于RK3568得人脸朝向检测

驾驶员监控系统是基于驾驶员面部图像处理来研究驾驶员状态的实时系统。首先挖掘出人在疲劳状态下的表情特征&#xff0c;然后将这些定性的表情特征进行量化&#xff0c;提取出面部特征点及特征指标作为判断依据&#xff0c;再结合实验数据总结出基于这些参数的识别方法&#xf…

近年GDC服务器分享合集(四): 《火箭联盟》:为免费游玩而进行的扩展

如今&#xff0c;网络游戏采用免费游玩&#xff08;Free to Play&#xff09;加内购的比例要远大于买断制&#xff0c;这是因为前者能带来更低的用户门槛。甚至有游戏为了获取更多的用户&#xff0c;选择把原来的买断制改为免费游玩&#xff0c;一个典型的例子就是最近的网易的…

PixelSNAIL论文代码学习(3)——自注意力机制的实现

文章目录 引言正文介绍自注意力机制的简单实现样例本文中的自注意力机制具体实现代码分析nn.nin函数的具体实现nn.causal_attention模块实现注意力模块实现代码完整实现代码使用pytorch实现因果注意力模块causal_atttention模块 问题 总结引用 引言 阅读了pixelSNAIL,很简短&a…

GO学习之 消息队列(Kafka)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…

模拟实现线程池

关于JAVA标志库创建线程池推荐看通过标准库创建线程池 核心思路 实现一个submit方法&#xff0c;让用户传入要执行的任务&#xff0c;在线程池内部&#xff0c;将用户传入的任务存储到阻塞队列中&#xff0c;根据用户实例化线程池时传入的参数&#xff0c;知道线程池中线程的数…

nodejs设置镜像

1、npm镜像地址配置 -- 查看 npm 安装目录 npm root -g-- 查看 npm 配置信息 npm config list-- 查询当前镜像配置 npm get registry-- 或者仅修改 npm 命令镜像 -- 设置为淘宝镜像 npm config set registry https://registry.npmmirror.com -- 修改为官方镜像 npm config set…