利用动态面板实现环形进度条加载 获赏10金币 基础教程

lsyjohn 普通用户 2020-2-15 3004

先来看下效果。

基本原理

上面是组合效果,主要包含三个部分,左半圆、右半圆和中间的百分加载部分。左、右半圆的实现原理很简单,就是利用动态面板的遮挡功能,将一个完整的圆遮挡一半,然后在显示的那一半上面添加一个不透明的矩形框,然后旋转矩形框,将下面的圆显露出来,同时矩形框逐渐进入动态面板被遮挡的区域,从而逐渐消失,在下图中把矩形框设置成了半透明的浅色,我们可以很清楚的明白其原理。

中间的百分加载部分就是利用动态面板制作的定时器,定时改变元件中的文字实现的,关于动态面板定时器的基本设置,可以参见https://www.pmyes.com/thread-35463.htm

下面是具体的实现步骤:

1、拖入一个动态面板,将尺寸设置为宽100,高200(按需调整,刚好是正方形的一半),并命名为左半圆。然后在面板中添加两个圆,一个200x200的底圆,设置背景色并去掉边框,一个白色的内圆,去掉边框(当然,样式可以自定义),将两个圆组合在一起,然后将左边与动态面板的左边沿对齐。完成编辑后就可以得到下面右图所示的半圆。

                

2、再次打开左半圆,在显示区添加一个220x110的矩形框,尺寸比面板尺寸稍大即可,这样可以保证后面旋转过程中能完全遮挡住底部的圆。去掉边框,将矩形框右边沿与动态面板的右边沿对齐,上下居中对齐。完成后得到下图所示的左半圆,此时看不到底部的圆。

                

3、复制左半圆,命名为右半圆,将上面的左边沿对齐改为右边沿对齐,得到右半圆,拖动元件,将左半圆和右半圆拼接在一起。

4、点击右半圆,为里面的矩形框添加交互动作,选择载入时(也可选择其它触发事件),执行旋转动作,分别设置旋转角度、执行事件、动画和旋转中点,旋转中点为左边的中点。这样可以完成右半圆的动画。

5、左半圆要等到右半圆动画执行完毕后再执行,因此我们要添加2000ms的等待时间,然后再将左半圆中的矩形框进行旋转,设置和右半圆一样,只是旋转中点改为右边中点。

6、最后添加进度指示文字,拖入一个200x200的矩形框,底色设置为透明色,去掉边框,初始文字为0%。

7、为了动态改变文字,我们要加入一个动态面板做的定时器。状态改变时设置进度的文本。由于文本中含有“%”符号,因此不能直接做数学运算,我们通过slice函数将%以前的字符串截取出来,然后再加1,再与%组合。当文本变为100%时,应停止改变文本,因此增加了情形1,当进度的文本不等于100%的时候才执行设置文本的动作。

8、最后我们要在右半圆的矩形载入中设置定时器的面板状态,循环间隔为40ms(完整的加载事件为4000ms,除以100)。

通过以上步骤即可完成环形进度的制作,我们可以将载入时触发改为通过按钮触发。也可以控制左半圆中矩形旋转的角度实现非百分百的加载。

https://www.axureshop.com/shop/24308中有一些综合实战案例,欢迎大家下载交流学习。

上传的附件:
登录后回复
打赏排行 用户名 打赏金额
第1名 沈十三 10金币
最新回复 (2)
  • lsyjohn 普通用户 2020-8-27
    0 引用 46
    line_1598513709 怎么获得金币奖励?
    发教程,或者直接充值
  • lsyjohn 普通用户 2020-5-4
    0 引用 45
    哈迪斯00 我按这个方式设置怎么数字到1%就不变了?是变量设置错了吗?但是我直接复制的你的变量还是不行
    可以加我QQ,发你的rp文件我看下吗
返回