未验证 提交 d85b231a 编写于 作者: D duangavin123 提交者: Gitee

update zh-cn/third-party-cases/circle-progress-bar.md.

Signed-off-by: Nduangavin123 <duanxichao@huawei.com>
Signed-off-by: Nduangavin123 <duanxichao@huawei.com>
上级 81349bcb
# 如何实现圆形进度条 # 如何实现波纹进度条
## 场景说明 ## 场景说明
应用开发过程中经常用到圆形进度条,常见的如充电进度、下载进度、上传进度等,本例即为大家介绍如何实现上述场景。 应用开发过程中经常用到波纹进度条,常见的如充电进度、下载进度、上传进度等,本例即为大家介绍如何实现上述场景。
## 效果呈现 ## 效果呈现
本示例最终效果如下: 本示例最终效果如下:
...@@ -13,10 +13,10 @@ ...@@ -13,10 +13,10 @@
## 实现思路 ## 实现思路
本示例涉及4个主要特性及其实现方案如下: 本示例涉及4个主要特性及其实现方案如下:
- 外部圆框展示:使用Circle组件绘制外层圆环,实现外层框架 - 进度条的圆形外框:使用Circle组件绘制外层圆环,实现外层框架。
- 圆框内部数值变化:利用Timer模块让进度组件按照函数完成进度 - 圆框内进度数值变化:使用setInterval()让进度值持续递增控制进度数据变化(本案例未提供实时数据来源,所以直接通过数据递增来呈现效果)。
- 圆框内部填充:通过Path路径绘制组件的命令(M、Q、T)去绘制路径生成封闭的自定义形状并对中间进行填充 - 圆框水纹区域绘制:通过Path组件的绘制命令(M、Q、T)去绘制水纹形状并对中间进行填充。
- 底部进度条展示:使用Slider组件绘制进度条 - 底部进度条展示(主要用于跟波纹进度对比展示,方便大家理解):使用Slider组件绘制进度条。
## 开发步骤 ## 开发步骤
针对上述所提到的内容,具体实现步骤如下: 针对上述所提到的内容,具体实现步骤如下:
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
.strokeWidth(5) //圆环环宽 .strokeWidth(5) //圆环环宽
... ...
``` ```
2. 通过Timer模块,通过自增让outSetValue值一直增加到100,使进度在规定时间内完成,最后通过clearInterval结束定时 2. 通过setInterval()方法让outSetValue值一直增加到100,使进度在规定时间内完成,最后通过clearInterval结束自增
具体代码块如下: 具体代码块如下:
```ts ```ts
... ...
...@@ -59,9 +59,15 @@ ...@@ -59,9 +59,15 @@
... ...
``` ```
3. 通过方程表达进度百分比和y的关系,通过Path路径绘制组件的命令(M、Q、T)去绘制路径生成封闭的自定义形状并对中间进行填充 3. 通过方程表达进度百分比和y的关系,通过Path组件的路径绘制命令(M、Q、T)去绘制路径生成封闭的自定义形状并对中间进行填充。
中间的填充有两个状态:1.在进度100%时时填充颜色的圆形;2.在进度不是100%时,使用Path组件绘制闭合曲线实现
说明一下在使用Path绘制组件时的计算过程和相关函数的使用,在Path组件坐标原点在左上角。 中间的填充有两个状态:
1.在进度100%时时填充颜色的圆形。
2.在进度不是100%时,使用Path组件绘制闭合曲线实现。
在使用Path组件绘制路径时的计算过程和相关函数的使用如下(坐标系以Path组件的左上角为坐标原点):
![](figures/jihe.png) ![](figures/jihe.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册