这个小功能经常有人问,常用在一些列表类型脚本的滑动上面,对于怎么判断是不是滑到最底部了呢?从手动操作的逻辑上来说,所谓滑动到最底部其实就是不能再继续滑动了。
对于脚本来说,不能滑动就是滑动前后没有发生变化。本着这个逻辑,我们就可以通过截取界面上某一位置的图片,然后经过一次滑动操作之后,判断原来位置的图片是不是发生了变化。如果没有发生变化,说明脚本已经滑动到最底部不能再继续滑动了。
先来看看效果:
下面看一下源代码:
Function 滑动(x1, y1, x2, y2, t)
SnapShot “/sdcard/pictures/1.png”,80,241,393,402
Swipe x1, y1, x2, y2, t
Dim intx,inty
FindPic 80,241,393,402, “/sdcard/pictures/1.png”,”000000″, 0, 0.9, intX, intY
If intX > -1 And intY > -1 Then
TracePrint “出现卡屏了”
滑动=true
Else
TracePrint “没有卡屏”
滑动=false
End If
End Function
Do
If 滑动(100, 500, 100, 450, 500) Then
TracePrint “滑动到底了”
Exit Do
Else
TracePrint “没到底了”
End If
Loop
这里面我自定义了一个叫滑动的函数,给它做了一个返回值,当滑动到最底部的时候,函数返回一个true,通过判断这个返回值,就可以明确知道是不是滑动到最底部了。
对于上面的代码需要注意两点:
1.代码中截图保存的路径是雷电模拟器的路径,如果你用其他设备,自行修改路径,否则可能会出现无法使用的情况。
2.调用函数的代码只有:滑动(100, 500, 100, 450, 500),如果做判断可以加上if,至于最外层的do循环,我是为了演示效果才加的,不是必须有的代码,别无脑套用。