龙空技术网

【按键精灵】给脚本加一个更新提示悬浮窗

按键精灵郭立员 210

前言:

而今同学们对“安卓自动刷新页面脚本”大概比较注意,你们都需要剖析一些“安卓自动刷新页面脚本”的相关资讯。那么小编同时在网上收集了一些有关“安卓自动刷新页面脚本””的相关知识,希望你们能喜欢,朋友们一起来了解一下吧!

大家好,我是公众号3分钟学堂的郭立员

前言

一般软件在有新版本更新的时候会有一个弹窗提示,我们这期教程是给脚本增加一个类似的提示。

制作过程

①、准备一个背景图

②、新建一个悬浮窗,并把准备图片作为悬浮窗的背景图。

FW.NewFWindow("悬浮窗",120,300,480,640)FW.SetPicture("悬浮窗", "/sdcard/pictures/更新提示/bg.jpg")FW.Show("悬浮窗")Do    Delay 1000Loop

③、给悬浮窗增加文字

这个文字主要是脚本更新的内容,新版本脚本更新了什么,这里就写什么,当然也可以加一些别的,比如版本号、新版本文件大小。

考虑到悬浮窗自适应大小比较麻烦,所以更新的文字尽量不要太多,防止超过悬浮窗的范围而被隐藏。

FW.NewFWindow("悬浮窗",120,300,480,640)FW.SetPicture "悬浮窗", "/sdcard/pictures/更新提示/bg.jpg"FW.AddTextView("悬浮窗", "更新标题", "是否升级V3.1版本?", 50, 260, 400, 100)FW.AddTextView("悬浮窗", "更新内容", "1.增加了跑图功能\n\n2.修复了界面配置加载错误\n\n3.修复未知错误", 50, 330, 400, 300)FW.SetTextSize("更新内容", 12)FW.SetTextColor("更新内容","333333")FW.Show("悬浮窗")Do    Delay 1000Loop

为了好看增加了一些细节,比如换行是用\n,但是间距太小,代码里面没有行间距命令,所以使用两个\n用多一个空行增加了行间距。

另外文字颜色也做了区分,使用了灰色,增强主次关系。

④、增加按钮

需要在悬浮窗上加两个按钮,一个是“取消”,一个是“立即更新”。

“取消”按钮为灰色,“立即更新”按钮为彩色,字体颜色为白色,这里调整按钮的大小和位置使整体看着和谐一些。

FW.NewFWindow("悬浮窗",120,300,480,640)FW.SetPicture "悬浮窗", "/sdcard/pictures/更新提示/bg.jpg"FW.AddTextView("悬浮窗", "更新标题", "是否升级V3.1版本?", 50, 260, 400, 100)FW.AddTextView("悬浮窗", "更新内容", "1.增加了跑图功能\n\n2.修复了界面配置加载错误\n\n3.修复未知错误", 50, 330, 400, 300)FW.SetTextSize("更新内容", 12)FW.SetTextColor("更新内容","333333")FW.AddButton("悬浮窗", "取消", "取消", 50, 530, 180, 60)FW.AddButton "悬浮窗", "立即更新", "立即更新", 255, 530, 180, 60FW.SetBackColor("取消","aaaaaa")FW.SetBackColor("立即更新","E29F07")FW.SetTextColor "取消", "FFFFFF"FW.SetTextColor("立即更新","FFFFFF")FW.Show("悬浮窗")Do    Delay 1000Loop

⑤、设置按钮功能

悬浮窗的样子弄好之后,就要开始做功能了。

取消更新:

FW.SetOnClick("取消", 取消更新)FW.Show("悬浮窗")Do  Delay 1000    Dim ret = FW.GetValue("悬浮窗")    If ret["Left"] Then       Else         Exit Do    End IfLoopTracePrint 1Function 取消更新()    FW.Close ("悬浮窗")End Function

给“取消”按钮增加了一个点击事件,点击按钮后关闭悬浮窗,正常来说到这一步悬浮窗就消失了,但是对于代码来说还有一个死循环(do循环)

如果想要脚本继续运行,就需要结束do循环,这里在do循环里面加上一个获取悬浮窗是否存在的判断,当悬浮窗关闭后,跳出do循环。

立即更新:

这个其实和“取消”按钮是一样的,也是点击后关闭悬浮窗并且结束do循环。

不同之处是需要加上你更新脚本的操作,而且需要在更新脚本结束之后在关闭悬浮窗。

以下是完整代码:

FW.NewFWindow("悬浮窗",120,300,480,640)FW.SetPicture "悬浮窗", "/sdcard/pictures/更新提示/bg.jpg"FW.AddTextView("悬浮窗", "更新标题", "是否升级V3.1版本?", 50, 260, 400, 100)FW.AddTextView("悬浮窗", "更新内容", "1.增加了跑图功能\n\n2.修复了界面配置加载错误\n\n3.修复未知错误", 50, 330, 400, 300)FW.SetTextSize("更新内容", 12)FW.SetTextColor("更新内容","333333")FW.AddButton("悬浮窗", "取消", "取消", 50, 530, 180, 60)FW.AddButton "悬浮窗", "立即更新", "立即更新", 255, 530, 180, 60FW.SetBackColor("取消","aaaaaa")FW.SetBackColor("立即更新","E29F07")FW.SetTextColor "取消", "FFFFFF"FW.SetTextColor "立即更新", "FFFFFF"FW.SetOnClick "取消", 取消更新FW.SetOnClick("立即更新", 立即更新)FW.Show("悬浮窗")Do  Delay 1000    Dim ret = FW.GetValue("悬浮窗")    If ret["Left"] Then       Else         Exit Do    End IfLoopFunction 取消更新()    FW.Close ("悬浮窗")End FunctionFunction 立即更新()        For i = 1 To 100      ShowMessage "开始更新脚本" & 100 - i      delay 1000    Next    FW.Close ("悬浮窗")End Function

⑥、细节补充

给整个悬浮窗加上圆角,原本想直接用倒角命令,由于加了背景图使得此命令失效,只能是做一个带圆角的背景图。

在点击完“立即更新”按钮后,悬浮窗不是立即消失,而是要等待脚本更新完成,这段时间为了防止按钮被再次点击,可以设置成按钮禁止点击。

更新过程如果需要时间较长,可以用进度条显示,减少用户的焦虑感。

标签: #安卓自动刷新页面脚本