基本操作
from ascript.android import action
模拟 手指 操作
点击
模拟 手指点击屏幕
- 函数
action.click(x:int,y:int,dur:int = 20):
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| x | int | 是 | 要点击的屏幕X坐标 |
| y | int | 是 | 要点击的屏幕Y坐标 |
| dur | float | 否 | 点击持续时间,默认20毫秒 |
- 示例
# 模拟手指点击屏幕坐标 (898,1916)
from ascript.android import action
action.click(898,1916)
# 模拟手指长按屏幕坐标 (898,1916) 按住两秒不放
from ascript.android import action
action.click(898,1916,2000)
滑动
模拟 手指滑动屏幕
- 函数
action.slide(x:int,y:int,x1:int,y1:int,dur:int=20)
- 参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| x | int | 是 | 滑动起始点X坐标 |
| y | int | 是 | 滑动起始点Y坐标 |
| x1 | int | 是 | 滑动结束点X坐标 |
| y1 | int | 是 | 滑动结束点Y坐标 |
| dur | float | 否 | 滑动持续时间,默认20毫秒 |
| interpolator | java Interpolator | 否 | 默认None,差速器. 可以实现各种加减速滑动效果 |
| control_points=None | list或int | 否 | 贝塞尔控制点 |
- 示例
# 模拟手指滑动屏幕 从坐标(157,798) 滑动至坐标(946,834) ,耗时20毫秒
from ascript.android import action
action.slide(157,798,946,834)
# 模拟手指滑动屏幕 从坐标(157,798) 滑动至坐标(946,834) ,耗时3000毫秒
from ascript.android import action
action.slide(157,798,946,834,3000)
# 加速插值。动画开始时较慢,然后逐渐加速
from android.view.animation import AccelerateInterpolator
action.slide(644,739,625,2000,2000,AccelerateInterpolator())
# 减速插值。动画开始时较快,然后逐渐减速。
# from android.view.animation import DecelerateInterpolator
# action.slide(644,739,625,2000,2000,DecelerateInterpolator())
# 更多有趣差速器,见下文
# 模拟人手真实抖动
from ascript.android import action
from android.view.animation import DecelerateInterpolator
action.slide(157,798,946,834,3000,DecelerateInterpolator(),control_points=0)
# 随机生成100组贝塞尔控制点
# action.slide(157,798,946,834,3000,control_points=100)
# 自定义2组贝塞尔控制点
# action.slide(157,798,946,834,3000,control_points=[100,100,60,60])
关于差速器
我们可以借助android 原生差速器实现各种效果, 如 加速、减速、先加后减,等各种效果.
差速器部分,使用android.view.animation.Interpolato
这意味着我们可以直接导入android 的所有差速器类
LinearInterpolator
- 导入:
from android.view.animation import LinearInterpolator - 效果: 线性插值。动画从开始到结束以恒定速度进行,没有加速或减速。
- 参数: 无。
- 构造函数:
LinearInterpolator() - 用途: 简单、均匀的过渡,如匀速移动、渐变。
AccelerateInterpolator
- 导入:
from android.view.animation import AccelerateInterpolator - 效果: 加速插值。动画开始时较慢,然后逐渐加速。
- 参数:
factor(float): 控制加速度的指数。值越大,开始时越慢,加速越明显。默认值为1.0f,对应 t² 的曲线。
- 构造函数:
AccelerateInterpolator()(使用默认factor1.0f)AccelerateInterpolator(float factor)
- 用途: 模拟物体启动、元素滑入屏幕。