自从按键更新了悬浮窗效果后,感觉很多弹窗效果都可以做了,比如今天的进度条效果。
此效果来自于雷电模拟器打开时的进度条加载效果,模仿它做的。
为了模仿的像一些,特意在94%的进度位置停了一下~~
一、进度条的作用
我们要知道进度条和你程序加载是没有同步关系的,你看到10%也好,90%也好,都是假的。
进度条的作用就是安慰剂,让用户在长时间等待时,自以为能够看到程序的“进度”,缓解用户的焦虑。
为了实现进度条结束同时程序加载完成,会在进度条结尾处进行校正,这也是为啥大部分的进度条在最后的阶段会卡一段时间,卡的原因就是在等待程序加载,当程序加载完成完成后,进度条也就直接跳到100%的。
二、制作脚本进度条的原理
①使用插件是悬浮窗插件
②进度条的显示分为三次,从上往下依次是镂空处、进度层、底色层
透过镂空层,可以看到进度层,通过修改进度层的长度,来表示进度的位置
底色层是为了看清进度槽的长度
三、脚本代码简介
进度条代码有三部分:
①创建进度条
之所以分成3部分是因为不能反复创建进度条,否则会有闪烁,看起来进度条不连贯
②修改进度条
进度条会增长全部是看看这一部分的代码
③关闭进度条
进度条如果不关闭的话,只要脚本不停止会一直显示,所以在进度加载完后要加上关闭悬浮窗的操作。
四、脚本代码
注意:测试设备是雷电模拟器4.0,分辨率720*1280,如果你效果和我的不一样,就是这个设备设置不一样~
其他的分辨率自行修改代码中的位置坐标、宽度、高度
创建进度条()
For i = 1 To 94
修改进度条 (i)
Delay 30
Next
Delay 5000
修改进度条 (100)
Delay 5000
FW.Close("浮窗名")
For i = 1 To 50
ShowMessage i
Delay 1000
Next
Function 创建进度条()
FW.NewFWindow "浮窗名", 40, 200, 640, 800
FW.SetBackColor "浮窗名", "0a0a0a"
FW.AddImageView("浮窗名", "进度条3", "/sdcard/pictures/进度条/进度条3.png", 0, 600, 640, 40)
FW.AddImageView("浮窗名", "进度条2", "/sdcard/pictures/进度条/进度条2.png", 30, 600, 1, 40)
FW.AddImageView "浮窗名", "进度条1", "/sdcard/pictures/进度条/进度条1.png", 0, 600, 640, 40
FW.AddImageView "浮窗名", "气泡", "/sdcard/pictures/进度条/气泡.png", 10, 580, 40, 23
FW.AddTextView("浮窗名", "进度数", "0%",30, 578, 40, 23)
FW.SetTextSize("进度数", 8)
FW.SetTextColor "进度数", "000000"
FW.Show("浮窗名")
End Function
Function 修改进度条(i)
FW.SetText("进度数",i&"%")
FW.SetWidth("进度条2",i*5.8)
FW.SetLeft("气泡",10+i*5.8)
If i > 9 Then
FW.SetLeft "进度数", 16 + i * 5.8
Else
FW.SetLeft("进度数",20+i*5.8)
End If
FW.Show("浮窗名")
End Function
五、注意事项
在代码中有个修改进度条 (100),这是进度条加载完成的代码,需要加一个程序加载完成的判断,当判断成立执行100%进度条的操作。
对于脚本而言,进度条不是必须的代码,不过我的态度是对于这种花里胡哨的代码,可以不用,但是不能不会。