【CustomPainter】绘制圆环

说明

绘制一个圆环,进度为0时,显示“圆形”。

效果

在这里插入图片描述

源码

  • MyRingPainter
class MyRingPainter extends CustomPainter {final double progress;MyRingPainter({required this.progress});void paint(Canvas canvas, Size size) {double _strokeWidth = 12;double _halfWidth = size.width / 2;Offset _center = Offset(_halfWidth, _halfWidth);// 💡关键:找到真正的半径// double _radius = _halfWidth; // 绘制的圆环会超过size的范围double _radius = _halfWidth - _strokeWidth / 2; // 刚好卡在size范围内// 圆环背景色// 不填充圆内颜色Paint paint = Paint()..color = const Color(0xFFFF6258).withOpacity(0.12)..strokeWidth = _strokeWidth..style = PaintingStyle.stroke;canvas.drawCircle(_center, _radius, paint);//圆环进度Paint linePaint = Paint()..style = PaintingStyle.stroke..strokeWidth = _strokeWidth..strokeCap = StrokeCap.round // 线条末端样式为圆形..color = const Color(0xFFFF6258);// drawArc : 画弧形,但不连接圆心canvas.drawArc(Rect.fromCircle(radius: _radius, center: _center), -pi / 2,2 * pi * progress, false, linePaint);}bool shouldRepaint(MyRingPainter oldDelegate) {return oldDelegate.progress != progress;}
}
  • UI渲染
           Container(width: 244,height: 244,color: Colors.grey.withOpacity(0.15),child: CustomPaint(size: const Size(244, 244),painter: MyRingPainter(progress: 0.001),),)

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb纯小白笔记02:Tomcat的使用:发布项目的三种方式、配置虚拟主机、配置用户名和密码

通过Tomcat进行发布项目的目的是为了提供项目的访问能力:Tomcat作为Web服务器,能够处理HTTP请求和响应,将项目的内容提供给用户进行访问和使用。 一.Tomcat发布项目的三种方式: 第一种:直接在Tomcat文件夹里的webapp…

排序---冒泡排序、堆排序

一、冒泡排序 相邻两个位置交换,假设排升序,就不断把最大的往后拿,所以这段序列从后往前变得有序。 //flag为0,即这个数组已经是有序的了,节省循环次数 二、堆排序(数组实现) 具体原理介绍看这…

道路坑洞分割数据集/道路裂纹分割数据集

1.道路坑洞,道路裂纹分割数据集,包含5790张坑洞分割图像数据(默认分割标注png图片,850MB)2.10000余张道路裂纹图像数据(默认分割标注png图片,3.7GB)3。道路坑洞,道路 道路坑洞与裂纹…

华为昇腾服务器+Atlas300IPro*2 部署Dify+MindIE+Embedding+Rerank实现Qwen2.5-7B全国产化的大模型推理平台

文章目录 一、概要二、平台介绍和相关链接三、MindIE、Embedding、Rerank接口测试四、Dify安装和部署五、测试 一、概要 记录基于华为昇腾推理服务器Atlas300IPro两卡基于MindIE大模型推理引擎和Embedding、Rerank部署dify大模型应用平台。(LangChain-ChatChat和Ne…

安克创新25届校招CATA北森测评:笔试攻略、真题题库、高分技巧

安克创新自适应能力CATA测评是该公司用于评估候选人认知能力的计算机自适应测评系统。该测评系统由北森题库提供支持,是国内唯一被国际计算机自适应测验协会(IACAT)收录的产品。测评主要评估以下几个维度: 言语能力:测试理解言语信息并基于这…

QFramework v1.0 使用指南 更新篇:20240918. 新增 BindableList

20240918. 新增 BindableList BindableProperty 很好用,但是不支持 List 等集合。 而 Bindable List 功能群友呼吁了很久了。 应群友要求,笔者实现了 Bindable List。 基本使用方式如下: using System; using UnityEngine; using UnityEngine.UI;na…

科技打造智享出行:深蓝L07抢先试驾

在深秋九月的金风送爽中,在深蓝L07即将正式发布之际,趣味科技来到山城重庆参加了深蓝L07的全国媒体试驾活动,亲身体验了这款科技智享中型轿车。 而深蓝L07在本次试驾中的表现,也让趣味科技深刻感受到了“智享科技美学、智享科技座…

秒懂Linux之共享内存

目录 共享内存概念 模拟实现共享内存 创建key阶段 ​编辑创建共享内存阶段 删除共享内存阶段 查看共享内存属性阶段 挂接共享内存到进程阶段 取消共享内存与进程挂接阶段 进程通信阶段 添加管道改进版 共享内存函数 shmget函数 shmat函数 shmdt函数 shmctl函数 共享内存概念 共…

Redis中Hash(哈希)类型的基本操作

文章目录 一、 哈希简介二、常用命令hsethgethexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloathstrlen 三、命令小结四、哈希内部编码方式五、典型应用场景六、 字符串,序列化,哈希对比 一、 哈希简介 几乎所有的主流编程语言都提供了哈…

一文带你掌握 tmux -- 高效的终端复用工具

一、什么是tmux? tmux 是一款开源的终端复用器,允许用户在一个终端窗口中访问多个终端会话,同时提供了会话管理功能,使得用户可以在同一个窗口中创建、访问和控制多个会话。它对于需要同时运行多个命令行程序的用户来说非常有用&…

自动化立体仓库几种典型的解决方案

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 完整版文件和更多学习资料,请球友到 知识星球【智能仓储物流技术研习社】 自行下载。 文件《自动化立体仓库几种典型的解决方案》的核…

浅谈“流量回放”

一、流量回放定义 “流量回放”通常指的是将之前记录的网络请求和响应数据重新发送到系统中,以模拟真实用户的操作。这种技术主要用于测试和调试目的,帮助开发人员和测试人员更好地理解系统在特定条件下的行为。 二、流量回放的技术原理: 数…

3、无线通信系统的组成

通常把实现信息传输的系统称为通信系统,下图表示一个通信系统的基本组成。在通信系统中,一般要进行两种变换与反变换。在发送端,第一个变换是输入变换器,它把要传输的信号变为电信号,该信号一般是低频的,而…

YOLOv5白皮书-第Y1周:调用官方权重进行检测

>- **🍨 本文为[🔗365天深度学习训练营](小团体~第八波) 中的学习记录博客** >- **🍖 原作者:[K同学啊](K同学啊-CSDN博客)** 一、前言 拖了好久,终于要开始目标检测系列了。自己想过好几次&#xf…

python中ocr图片文字识别样例(一)

一、使用easyocr安装依赖 pip install easyocr pip install opencv-python-headless # 处理图像二、具体实现,此处有个缺陷,大家可以尝试解决下,识别的文字打印结果没问题,但是图片识别出现乱码: 2.1 具体识别的图片…

创新驱动,技术引领:2025年广州见证汽车电子技术新高度

汽车行业的创新浪潮正汹涌澎湃,一场引领未来出行的科技盛宴即将拉开帷幕! AUTO TECH 2025 第十二届广州国际汽车电子技术展览会将于 2025 年 11 月 20日至 22 日在广州保利世贸博览馆(PWTC Expo)隆重举行。 作为亚洲地区领先的汽…

AI助力低代码平台:从智能化到高效交付的全新变革

引言:技术融合的新时代 随着数字化转型的深入推进,企业对软件开发的需求迅速增长。然而,传统开发模式的高成本、长周期,以及对专业技术人才的依赖,正逐渐成为瓶颈。与此同时,低代码平台的崛起为企业提供了一…

传输大咖44 | 云计算企业大数据迁移如何更安全高效?

在云计算时代,数据已成为企业最宝贵的资产之一。对于依赖云服务的企业和组织来说,大数据迁移是实现业务扩展和优化的关键步骤。然而,这一过程并非没有挑战。传统的文件传输方式在安全性、稳定性和速度上往往无法满足云计算企业的需求。本文将…

Shire 智能体市场:IDE 一键安装多智能体,协同打造集体智慧 Copilot

太长不看版:在新版本(0.8)的 Shire 中,你可以通过 Shire 智能体市场,一键下载和安装多个智能体,并直接在你的当前项目中使用。与此同时,你还可以 将你的 Shire 代码段或者智能体上传到 Shire 智…

智慧火灾应急救援航拍检测数据集(无人机视角)

智慧火灾应急救援。 无人机,直升机等航拍视角下火灾应急救援检测数据集,数据分别标注了火,人,车辆这三个要素内容,29810张高清航拍影像,共31GB,适合森林防火,应急救援等方向的学术研…