乐于分享
好东西不私藏

[按键精灵]在屏幕上做辅助参考线(附源码)

[按键精灵]在屏幕上做辅助参考线(附源码)

大家好,我是郭立员~,本文所讲内容仅供学习参考,请勿非法使用。

前言

讲三种屏幕上显示参考线的方法,基本都是基于悬浮窗,细节略有不同。

第一种:悬浮窗+斜线透明背景图

①、做两张对角线的“透明图”。

做两张的原因是考虑两个点之间连线可能是左上方向,也可能是右上方向。这个需要通过坐标大小来决定选择哪张背景图。

②、悬浮窗的背景图会根据悬浮窗大小缩放,所以图片尺寸没有具体要求,看着弄就行。

③、虽然悬浮窗是透明背景,但是镂空部分只能看见,不能点击,所以这个悬浮窗显示几秒就要关闭。

难点:比较坐标大小,确定背景图,确定悬浮窗的起始位置坐标和宽高。

源码:

PutAttachment "/sdcard/pictures/""左下方.png"PutAttachment "/sdcard/pictures/""右下方.png"Dim x1 = 193Dim y1 = 800Dim x2 = 670Dim y2 = 503Dim x, yIf x1 < x2 Then     x = x1Else     x = x2End IfIf y1 < y2 Then     y = y1Else     y = y2End IfDim w = Abs(x2 - x1)Dim h = Abs(y2 - y1)Dim pic_path If x1 < x2 and y1 < y2 Then     pic_path = "/sdcard/pictures/右下方.png"Else     pic_path = "/sdcard/pictures/左下方.png"End IfFW.NewFWindow("浮窗名", x, y, w, h)FW.SetPicture("浮窗名", pic_path)FW.Show("浮窗名")Dim 显示时间 = 5For i = 1 To 显示时间    ShowMessage "显示倒计时:" & 显示时间 - i    Delay 1000NextFW.Close ("浮窗名")

第二种:悬浮窗+按钮点阵

上面的方法需要制作透明的斜线图片,还要通过附件把图片放到设备当中,相对麻烦点,这种按钮点阵的方法就不需要准备图片了。

按钮点阵其实就是用按钮当做像素点,然后由多个像素点组成一条直线。

难点是由点到线的计算,包括左上方向和右上方向。

源码:

Dim x1 = 300Dim y1 = 100Dim x2 = 550Dim y2 = 200Dim x, yIf x1 < x2 Then     x = x1Else     x = x2End IfIf y1 < y2 Then     y = y1Else     y = y2End IfDim w = Abs(x2 - x1)Dim h = Abs(y2 - y1)If w = 0 Then     w = 3 	End IfIf h = 0 Then 	h = 3End IfFW.NewFWindow("浮窗名", x, y, w, h)FW.Opacity "浮窗名"0If w > h Then     For i = 1 To w Step 3        FW.AddButton("浮窗名""点阵"&i, "", i, Abs(y-y1 +int(i*h/w)) , 55)        FW.SetBackColor "点阵" & i, "0000FF"        FW.Show ("浮窗名")    NextElse     For i = 1 To h Step 3        FW.AddButton("浮窗名""点阵"&i, "", Abs(x-x2 + int(i*w/h)) , i , 55)        FW.SetBackColor "点阵" & i, "0000FF"        FW.Show ("浮窗名")    NextEnd IfDim 显示时间 = 5For i = 1 To 显示时间    ShowMessage "显示倒计时:" & 显示时间 - i    Delay 1000NextFW.Close ("浮窗名")

第三种:

上面两个方法有个弊端就是悬浮窗看上去是透明的区域,但是不能点击操作,遮盖了底下的屏幕内容。

下面说的方法是以悬浮窗为点阵,这种方式的缺点是最多32个悬浮窗,也就是最多3个点,但是我测试太多个悬浮窗直接掉连接,所以使用20个悬浮窗做线(虚线)。

源码

Dim x1 = 300Dim y1 = 40Dim x2 = 600Dim y2 = 500Dim w = (x2 - x1) / 20Dim h = (y2 - y1) / 20For i = 1 To 20    FW.NewFWindow("浮窗名"&i, x1+int(i*w), y1+int(i*h), 1010)    FW.SetBackColor("浮窗名"&i, "0000FF")    FW.Show("浮窗名"&i)NextDim 显示时间 = 5For i = 1 To 显示时间    ShowMessage "显示倒计时:" & 显示时间 - i    Delay 1000NextFW.Close ("浮窗名")

=正文完=

更多内容可以查看往期文章

收费解答按键精灵安卓版的问题,有需要可以联系我

我的QQ:453485278

按键QQ群11群:936858410

微信(xiaomu86119),或扫下方二维码

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » [按键精灵]在屏幕上做辅助参考线(附源码)

评论 抢沙发

1 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮