脚本函数

悬浮控件

12 个函数

创建悬浮窗

FloatWindow.create(name: string, x: integer, y: integer, width: integer, height: integer): integer

创建轻量悬浮窗;同名窗口再次调用时更新位置和大小。新窗口默认触摸穿透。

参数5 项
序号名称类型参数说明
1 name 用于后续操作的窗口名称。示例:"状态提示"。
2 x 窗口左上角 X 坐标,单位像素。
3 y 窗口左上角 Y 坐标,单位像素。
4 width 窗口宽度,单位像素,必须大于 0。
5 height 窗口高度,单位像素,必须大于 0。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -4:参数错误

关闭悬浮窗

FloatWindow.close(name: string): integer

关闭指定名称的悬浮窗并释放图片和窗口资源。

参数1 项
序号名称类型参数说明
1 name 要关闭的窗口名称,必须与创建时一致。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在

关闭全部悬浮窗

FloatWindow.closeAll(): integer

关闭当前脚本创建的全部轻量悬浮窗;脚本结束时也会自动清理。

参数无参数
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -2:失败

设置悬浮文字

FloatWindow.setText(name: string, text: string, size: integer, color: string, align: integer): integer

设置窗口文字、大小、颜色和九宫格对齐,可与图片叠加。

参数5 项
序号名称类型参数说明
1 name 目标窗口名称。
2 text 要显示的文字或字符变量。
3 size 文字大小,单位像素。
4 color 文字颜色,格式 #AARRGGBB。示例:#FFFFFFFF
5 align 文字在窗口中的九宫格位置。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在
  • -4:参数错误

设置悬浮图片

FloatWindow.setImage(name: string, path: string, mode: integer): integer

异步加载绝对路径图片;模式0完整显示、1裁剪铺满、2拉伸铺满,传空字符清除图片。

参数3 项
序号名称类型参数说明
1 name 目标窗口名称。
2 path 图片绝对路径。示例:/sdcard/图片.png;传空字符可清除图片。
3 mode 图片显示模式:0 完整显示,1 裁剪铺满,2 拉伸铺满。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在
  • -4:参数错误

设置悬浮背景

FloatWindow.setBackground(name: string, color: string, radius: integer): integer

设置窗口背景颜色和圆角半径;颜色支持透明度。

参数3 项
序号名称类型参数说明
1 name 目标窗口名称。
2 color 背景颜色,格式 #AARRGGBB。示例:#CC202124
3 radius 圆角半径,单位像素;填 0 表示直角。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在
  • -4:参数错误

设置悬浮位置

FloatWindow.setPosition(name: string, x: integer, y: integer): integer

设置窗口左上角的屏幕坐标。

参数3 项
序号名称类型参数说明
1 name 目标窗口名称。
2 x 窗口左上角 X 坐标,单位像素。
3 y 窗口左上角 Y 坐标,单位像素。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在

设置悬浮大小

FloatWindow.setSize(name: string, width: integer, height: integer): integer

设置窗口宽度和高度。

参数3 项
序号名称类型参数说明
1 name 目标窗口名称。
2 width 窗口宽度,单位像素,必须大于 0。
3 height 窗口高度,单位像素,必须大于 0。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在
  • -4:参数错误

设置悬浮显示

FloatWindow.setVisible(name: string, visible: integer): integer

显示或临时隐藏窗口,隐藏不会清除内容和交互设置。

参数2 项
序号名称类型参数说明
1 name 目标窗口名称。
2 visible 显示状态:1 显示,0 隐藏。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在

设置悬浮透明度

FloatWindow.setAlpha(name: string, alpha: integer): integer

设置整个窗口透明度;0 完全透明,255 完全不透明。

参数2 项
序号名称类型参数说明
1 name 目标窗口名称。
2 alpha 整个窗口的透明度,范围 0~255;0 完全透明,255 完全不透明。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在
  • -4:参数错误

设置悬浮交互

FloatWindow.setInteraction(name: string, clickable: integer, draggable: integer): integer

分别设置可点击和可拖动;都关闭时触摸穿透,都开启时自动区分点击、长按和拖动。

参数3 项
序号名称类型参数说明
1 name 目标窗口名称。
2 clickable 是否接收点击和长按:1 接收,0 不接收。
3 draggable 是否允许拖动窗口:1 允许,0 禁止。
返回值返回值可以不接收
序号名称类型返回说明
1 status 执行状态
  • 1:成功
  • -1:名称无效
  • -2:失败
  • -3:窗口不存在

获取悬浮事件

FloatWindow.getEvent(timeout: integer): (string, string, integer, integer)

按发生顺序获取一条事件。等待时间为 0 时立即返回,大于 0 时限时等待,小于 0 时持续等待;点击或拖动事件之后还会返回一次 up,系统取消触摸时不会返回。

参数1 项
序号名称类型参数说明
1 timeout 等待时间,单位毫秒:0 立即返回,大于 0 时限时等待,小于 0 时一直等待。
返回值至少接收一个返回值
序号名称类型返回说明
1 窗口名称 触发事件的悬浮窗名称;超时为空
2 事件类型 click点击、longPress长按、drag拖动结束、up弹起;超时为空
3 X 窗口左上角X;超时返回-1
4 Y 窗口左上角Y;超时返回-1