flutter圆形或线型进度条

2023-12-18 14:18

本文主要是介绍flutter圆形或线型进度条,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。

IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!Flutter作为这两年开始崛起的跨平台开发框架,其第三方生态相比其他成熟框架还略有不足,但轮子的数量也已经很多了。本系列文章挑选日常app开发常用的轮子分享出来,给大家提高搬砖效率,同时也希望flutter的生态越来越完善,轮子越来越多。

本系列文章准备了超过50个轮子推荐,工作原因,尽量每1-2天出一篇文章。

tip:本系列文章合适已有部分flutter基础的开发者,入门请戳:flutter官网

正文

轮子

  • 轮子名称:percent_indicator
  • 轮子概述:flutter一个圆形和线形的进度条.
  • 轮子作者:diego.velasquez.lopez@gmail.com
  • 推荐指数:★★★★
  • 常用指数:★★★
  • 效果预览:效果图

    效果图

功能概述

  • 圆形百分比进度
  • 线形百分比进度
  • 切换动画
  • 自定义动画的持续时间
  • 基于百分比值的进度
  • 进度和背景色
  • 自定义大小
  • 左,右或居中子项用于线性百分比指示器
  • 圆形百分比指示器的顶部,底部或中心widget
  • 使用渐变色

安装

yaml

1
2
dependencies:percent_indicator: ^2.1.1+1

dart

1
import 'package:percent_indicator/percent_indicator.dart';

使用

圆形进度

基础使用

dart

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
new CircularPercentIndicator(radius: 60.0, //大小lineWidth: 5.0,//指示线条大小percent: 1.0,//当前进度center: new Text("100%"),//中心widget 可以是文字 或其他widget 如何iconprogressColor: Colors.green, //进度条颜色....
)
头部标题+icon内容+背景色:
```dart
new CircularPercentIndicator(radius: 100.0,lineWidth: 10.0,percent: 0.8,header: new Text("Icon header"),center: new Icon(Icons.person_pin,size: 50.0,color: Colors.blue,),backgroundColor: Colors.grey,progressColor: Colors.blue,
)

头部标题+动画:

dart

1
2
3
4
5
6
7
8
9
10
11
new CircularPercentIndicator(radius: 130.0,animation: true,animationDuration: 1200,lineWidth: 15.0,percent: 0.4,center: new Text("40 hours",style:new TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0),),circularStrokeCap: CircularStrokeCap.butt,backgroundColor: Colors.yellow,progressColor: Colors.red,
),

底部文案+动画+圆角截断:

dart

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
new CircularPercentIndicator(radius: 120.0,lineWidth: 13.0,animation: true,percent: 0.7,center: new Text("70.0%",style:new TextStyle(fontWeight: FontWeight.bold, fontSize: 20.0),),footer: new Text("Sales this week",style:new TextStyle(fontWeight: FontWeight.bold, fontSize: 17.0),),circularStrokeCap: CircularStrokeCap.round,progressColor: Colors.purple,
)

线型进度

基础使用:

dart

1
2
3
4
5
6
7
new LinearPercentIndicator(width: 300,lineHeight: 14.0,percent: 0.5,backgroundColor: Colors.grey,progressColor: Colors.blue,
),

线型进度+进度数字:

dart

1
2
3
4
5
6
7
8
9
10
11
12
13
new LinearPercentIndicator(width: 300,lineHeight: 14.0,percent: 0.5,center: Text("50.0%",style: new TextStyle(fontSize: 12.0),),trailing: Icon(Icons.mood),linearStrokeCap: LinearStrokeCap.roundAll,backgroundColor: Colors.grey,progressColor: Colors.blue,
)

线型进度+进度数字+左右内容+动画+矩形边框:

dart

1
2
3
4
5
6
7
8
9
10
11
12
new LinearPercentIndicator(width: 200,animation: true,animationDuration: 1000,lineHeight: 20.0,leading: new Text("左侧内容"),trailing: new Text("右侧内容"),percent: percent,center: Text((percent*100).toString()+'%'),linearStrokeCap: LinearStrokeCap.butt,progressColor: Colors.red,
)

更多用法可自行参考轮子文档中的参数定制。

结尾

  • 轮子仓库地址:https://pub.flutter-io.cn/packages/percent_indicator
  • 系列演示demo源码:https://github.com/826327700/flutter_plugins_demo

这篇关于flutter圆形或线型进度条的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508714

相关文章

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

Flutter Button使用

Material 组件库中有多种按钮组件如ElevatedButton、TextButton、OutlineButton等,它们的父类是于ButtonStyleButton。         基本的按钮特点:         1.按下时都会有“水波文动画”。         2.onPressed属性设置点击回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。

C++实现百分号进度条的程序

#include<iostream>#include<Windows.h>//Sleep调用using namespace std;int main(){std::cout << "\n正在输出记录数据...... ";for( int i=0; i <= 100; i++ ) // 打印百分比 {std::cout.width(3);//i的输出为3位宽std::cout <<

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题

flutter开发实战-flutter build web微信无法识别二维码及小程序码问题 GitHub Pages是一个直接从GitHub存储库托管的静态站点服务,‌它允许用户通过简单的配置,‌将个人的代码项目转化为一个可以在线访问的网站。‌这里使用flutter build web来构建web发布到GitHub Pages。 最近通过flutter build web,通过发布到GitHu

Flutter 中的低功耗蓝牙概述

随着智能设备数量的增加,控制这些设备的需求也在增加。对于多种使用情况,期望设备在需要进行控制的同时连接到互联网会受到很大限制,因此是不可行的。在这些情况下,使用低功耗蓝牙(也称为 Bluetooth LE 或 BLE)似乎是最佳选择,因为它功耗低,在我们的手机中无处不在,而且无需连接到更广泛的网络。因此,蓝牙应用程序的需求也在不断增长。 通过阅读本文,您将了解如何开始在 Flutter 中开

初识Linux · 进度条

目录 前言: 1 缓冲区和回车换行 2 进度条 前言: 我们目前学习了些许知识,已经足够支持我们写一个非常非常小的项目了,即进度条,相信大家都有过下载游戏,等待游戏更新完成的时候,那么此时就有一个进度条,代表着游戏的更新进度,那么我们今天就来模拟实现这个过程,在此之前,我们需要一些预备知识。 1 缓冲区和回车换行 回车换行?是的,你没有看错,相信不少人对换行有一定的误解,我们

flutter开发多端平台应用的探索 下 (跨模块、跨语言通信之平台通道)

前文 Flutter 是一个跨平台的开发框架,它允许开发者使用相同的代码库来构建 iOS、Android、Web 和桌面应用程序。 上文flutter开发多端平台应用的探索 上(基本操作)-CSDN博客列举了一些特定平台的case(桌面端菜单,鼠标快捷键)的使用方法,有些是flutter提供了对应能力,只需要学习如何调API,有些事三方库支持,本文要探讨的平台通道是更为强大的工具,很多三方插件

Flutter-使用dio插件请求网络(get ,post,下载文件)

引入库:dio: ^2.1.13可直接运行的代码:包含了post,get 下载文件import 'package:flutter/material.dart';import 'package:dio/dio.dart';void main() {runApp(new MaterialApp(title: 'Container demo',home: new visitNetPage(),)

Flutter-选择附件,图片,视频。file_picker

仅供参考: 引入插件: file_picker: ^1.3.8 按照返回值,分了三组: // Single file path String filePath;第一组:返回文件地址 //选择任何文件 filePath = await FilePicker.getFilePath(type: FileType.ANY); // will let you pick one file path, fr