uniapp中实现圆形进度条的方式有哪些?

前言

        在uniapp开发小程序或者apk时,页面需要用到一个圆形进度条(带文字和百分比的),自己也自定义过一个,但是有一点小问题,咱先展示如何引入插件市场的在介绍自定义的!一共四种,但是你需要考虑自己的兼容性!

正文

一、插件市场

1.进入DCloud插件市场:DCloud 插件市场

2.找到了一款和自己需求符合的,兼容性也是比较好的,做uniapp项目是需要考虑和测试兼容性的,只有真机上能看的出来,模拟器不一定看的出来!!!圆形进度条 

3.下载插件并导入HBuilderX

4.点击之后需要登录账号密码,然后导入到你uniapp中的uni_modules文件夹下,这个文件夹下面不需要引入页面在引入了。

5.页面中使用组件:

<l-circularProgress :fontShow="false" bgColor="#f2f2f2" :lineWidth="10" boxWidth="90" boxHeight="90" progressColor="#7ef22e":percent="80" style="position: relative;"><view class="centerTxtSpecial" style="position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);"><view class="numSpecial">80%</view><view class="txtSpecial">性能</view></view>
</l-circularProgress>

css代码

.centerTxtSpecial {position: absolute;top: 50%;left: 47%;transform: translate(-50%, -50%);text-align: center;
}.numSpecial {font-size: 30rpx;font-family: Arial;/* font-weight: bold; */color: #008000;
}.txtSpecial {font-size: 28rpx;font-family: PingFang SC;font-weight: 400;color: #999;margin-top: 8rpx;
}

6、效果如下

二、自定义组件:

1.html代码

<div v-for="(item,index) in dataList" :key="index" class="setBorder" @click="handledetail(item)">/**主要内容*/<view class="circlecontent"><view class="circleprogress"><view class="progresstext">{{item.percent}}%<text style="font-size: 12px; width: 100%;">性能</text></view><view class="wrapper"><view class="leftprogress" :style="{ transform: 'rotate('+(item.percent * 3.6 <= 180 ? -45 : -45+(item.percent * 3.6-180))+'deg)'}"></view></view><view class="wrapper"><view class="rightprogress" :style="{ transform: 'rotate('+(item.percent * 3.6 <= 180 ? 45 + item.percent * 3.6 : 45+180)+'deg)'}"></view></view></view></view>
</div>

2.js代码

leftprogress: 'rotate(-45deg)',
rightprogress: 'rotate(45deg)',
dataList: []

3.css代码


.circlecontent {width: 80px;display: flex;justify-content: center;flex-flow: wrap;align-items: center;border-radius: 50%;text-align: center;height: 80px;position: relative;
}.circleprogress {width: 80px;height: 80px;display: flex;justify-content: center;
}.circleprogress .progresstext {position: absolute;font-size: 12px;width: 50px;display: flex;justify-content: center;align-items: center;color: #008000;flex-wrap: wrap;top: 45%;left: 15%;transform: translateY(-50%);
}.circleprogress .wrapper {width: 80px;height: 80px;overflow: hidden;
}.circleprogress .leftprogress,
.rightprogress {width: 70px;height: 70px;border: 10px solid #eee;border-bottom: 10px solid #7ef22e;border-radius: 50%;
}.circleprogress .leftprogress {border-right: 10px solid #7ef22e;
}.circleprogress .rightprogress {border-left: 10px solid #7ef22e;margin-left: -40px;
}

4.效果:

这个兼容性都没问题,但是有个缺角!

三、第三方自定义组件:

uniapp圆环进度条组件_环形进度条组件-CSDN博客

        问题:canvas层级高,目前覆盖文字信息没有展示!只有环形展示出来了!

四、uview官方组件

1.html

<u-circle-progress active-color="#7ef22e" :percent="item.percent"><view class="centerTxtSpecial"><div class="numSpecial">{{item.percent}}%</div><text class='txtSpecial'>性能</text></view>
</u-circle-progress>

2.js引入组件

        看你自己文件位置,不能完全copy

import uCircleProgressVue from "../../../components/owner/u-circle-progress.vue";
export default {components: {'u-circle-progress': uCircleProgressVue}
}

3.这个官方的在安卓手机上apk无法正常显示,小程序都是ok的!

总结

        个人是很推荐和支持第一种的,canvas绘制图形很丝滑,但是也有层级很高的问题!原生虽然兼容性很好,但是可能并没有那么流程!你也可以尝试自己做好用的组件出来!

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

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

相关文章

高压放大器使用方法介绍

高压放大器是一种用于放大高压信号的电子设备&#xff0c;常用于科学研究、工业应用和医疗设备等领域。它可以将低电压信号放大到较高的电压水平&#xff0c;以满足特定应用的需求。 使用高压放大器需要注意以下几个方面&#xff1a; 1.了解设备规格&#xff1a;在使用高压放大…

0时区格林威治时间转换手机当地时间-Android

假设传入的是2023-11-01T12:59:10.420987这样的格式 要将格式为2023-11-01T12:59:10.420987的UTC时间字符串转换为Android设备本地时间&#xff0c;您可以使用java.time包中的类&#xff08;在API 26及以上版本中可用&#xff09;。如果您的应用需要支持较低版本的Android&…

【外汇天眼】交易之路:从无知到觉醒,揭秘成功交易员的五个成长阶段

世界顶尖交易员的成功背后隐藏的真正秘诀引人瞩目。许多人梦想着像电影中的主角一样&#xff0c;成为一名成功的金融交易员。尽管开设交易账户相对简单&#xff0c;但要达到稳定盈利的境界确实非常不容易。众所周知&#xff0c;在衍生品市场中&#xff0c;有80%甚至90%以上的交…

网络安全涉及哪些方面?

1.系统安全&#xff1a;运行系统安全即保证信息处理和传输系统的安全。它侧重于保证系统正常运行&#xff0c;避免因为系统的损坏而对系统存储、处理和传输的消息造成破坏和损失&#xff0c;避免由于电磁泄露&#xff0c;产生信息泄露&#xff0c;干扰他人或受他人干扰。 2. 网…

docker部署jdk21的镜像

docker Docker是一种开放源代码软件&#xff0c;可以帮助开发人员更轻松地创建、部署和运行应用程序。它是一种容器化技术&#xff0c;可以将应用程序及其依赖项打包在一个容器中&#xff0c;从而使应用程序更加便携和可移植。Docker将操作系统、应用程序和硬件虚拟化进行了彻底…

基于单片机设计的气压与海拔高度检测计(采用MPL3115A2芯片实现)

一、前言 随着科技的不断发展&#xff0c;在许多领域中&#xff0c;对气压与海拔高度的测量变得越来越重要。例如&#xff0c;对于航空和航天工业、气象预报、气候研究等领域&#xff0c;都需要高精度、可靠的气压与海拔高度检测装置。针对这一需求&#xff0c;基于单片机设计…

2023年中国聚氨酯树脂涂料需求量、市场规模及行业趋势分析[图]

聚氨酯是一种新兴的有机高分子材料&#xff0c;被誉为“第五大塑料”&#xff0c;因其卓越的性能而被广泛应用于国民经济众多领域。产品应用领域涉及轻工、化工、电子、纺织、医疗、建筑、建材、汽车、国防、航天、航空等。2022年中国聚氨酯产量已达1600万吨。 2012-2022年中国…

从傅里叶变换,到短时傅里叶变换,再到小波分析(CWT),看这一篇就够了(附MATLAB傻瓜式实现代码)

本专栏中讲了很多时频域分析的知识&#xff0c;不过似乎还没有讲过时频域分析是怎样引出的。 所以本篇将回归本源&#xff0c;讲一讲从傅里叶变换→短时傅里叶变换→小波分析的过程。 为了让大家更直观得理解算法原理和推导过程&#xff0c;这篇文章将主要使用图片案例。 一…

nginx-编译安装-基础指令-信号

nginx 的编译与安装 nginx目录介绍 如果我们需要整合第三方模块&#xff0c;需要自己编译然此模块编译到nginx里面。apt和yum的安装只具有常用的基础功能。 下载nginx wget http://nginx.org/download/nginx-1.14.0.tar.gz/auto 目录 Changes 描述了一每个版本提供了那些特…

第2关:图的深度优先遍历

任务要求参考答案评论2 任务描述相关知识编程要求测试说明 任务描述 本关任务&#xff1a;以邻接矩阵存储图&#xff0c;要求编写程序实现图的深度优先遍历。 相关知识 图的深度优先遍历类似于树的先序遍历, 是树的先序遍历的推广&#xff0c;其基本思想如下&#xff1a; …

Linux之进程概念(一)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、冯诺依曼体系结构二、操作系统(Operator System)1、概念2、设计OS的目的3、定位4、如何理…

OceanBase:集群常见操作

目录 1.查看 OBD 管理的集群列表 2.查看某个集群状态 3.启动 OceanBase 集群 4.连接 OceanBase 集群 5.停止运行中的集群 6.销毁已部署的集群 7.查看集群配置项 8.修改集群配置项 1.查看 OBD 管理的集群列表 obd cluster list 2.查看某个集群状态 obd cluster displa…

如何利用CHATGPT写主题文章

问CHAT&#xff1a;新课标下畅言智慧课堂助力小学生量感培养&#xff0c;拟解决的关键问题 CHAT回复&#xff1a; 1. 确定智慧课堂在新课标下的正确应用方法&#xff1a;新课标对教育方法、内容等提出了新的要求&#xff0c;需要探讨如何将智慧课堂与新课标相结合&#xff0c;…

OceanBase 4.2.1 LTS 发版 | 一体化数据库首个长期支持版本

在刚刚结束的年度发布会上&#xff0c;OceanBase 沿着“一体化”产品战略思路&#xff0c;发布了一体化数据库的首个长期支持版本 4.2.1 LTS。作为 4.0 系列的第一个 LTS 版本&#xff0c;该版本的定位是支撑客户关键业务稳定长久运行&#xff0c;我们非常认真的打磨了这个版本…

单片机和FreeRTOS上跑机器人ROS的应用

机器人的应用越来越广泛了&#xff0c;大家熟知的稚晖君直接创业搞机器人&#xff0c;可想而至&#xff0c;接下来的十年&#xff0c;机器人绝对是热门的行业。 目前市面上很多机器人都是基于一套叫做ROS的系统开发的&#xff0c;今天就给大家分享一个跑在MCU上&#xff0c;基…

VScode调试没有反应

点击调试按钮后没反应 有可能是vscode中安装的python插件版本问题 可以通过重新安装比较旧一点的python尝试解决此问题 步骤如下&#xff1a; 然后从中选择比当前版本更低的版本即可 安装完成后需重启vscode

《研发效能 100 问》首发,多位专家解读「研效提升」的破局之道?

为了可以帮助更多研发管理者和研发效能负责人&#xff0c;了解构建研发效能体系应从何做起&#xff0c;以及在构建过程中需要解决哪些疑难问题&#xff0c;有哪些最佳实践可以借鉴。2023 年 7 月&#xff0c;思码逸发起&#xff0c;由行业知名研发效能专家张乐老师担任出品人&a…

MFC项目添加CUDA支持

文章目录 前言一、开启项目CUDA支持二、链接CUDA库三、链接cu文件 前言 我目前的项目状况是&#xff1a; 拥有一个MFC项目&#xff1b;拥有现成的 .cuh文件 和 .cu文件。 我想做的是&#xff1a;将.cuh和.cu文件放到我的项目中&#xff0c;并且编译成功跑起来 一、开启项目C…

Redis高可用之持久化

Redis的高可用 在集群当中有一个非常重要的指标&#xff0c;提供正常服务的时间的百分比(365),99.9%后面的小数点越多说明越可靠。Redis 的高可用含义更加宽泛&#xff0c;正常服务是指标之一&#xff0c;数据容量的扩展&#xff0c;数据的安全性。 redis中高可用技术种类 1…

硬件驱动为什么要有WHQL数字签名

硬件驱动要有WHQL数字签名才能实现正常安装、启动、运行&#xff0c;并实现驱动静默安装。 目前的桌面操作系统中&#xff0c;Windows系统市场占有率处于优势&#xff0c;Windows 的各个版本的系统加起来几乎占领了大部分市场。所以很多工业和行业的硬件设备都要考虑兼容在Win…