$draw - 全屏绘制
- 更新时间:2026-02-08 19:43:39
全屏绘制
系统限制
在全局绘制框架中,绝大多数情况都会使用到全屏悬浮窗,但是这种方式在部分手机上用户手势会被拦截,这一类现象被称为"卡悬浮"。
经过测试,在MIUI系列的手机中,手机厂家会拦截悬浮窗手势,无论用何种悬浮窗类型,都无效,这是厂家在系统中刻下的基因。
全屏绘制类的函数:例如:绘制线、文本、方框等,在ColorOS下(或者大多数国产安卓模拟器),系统会提示是否允许显示在上层(安卓模拟器大多数默认允许),经过用户允许之后就可以正常绘制并且不阻碍用户使用手机, 但是在MIUI系统中,没有任何提示,经调试发现该类系统会直接拦截所有用户手势,据了解是为了安全才如此设计。
作为开发者,你必须谨慎使用全局绘制,并不是所有手机都开放了全屏悬浮窗时的触摸事件。
在1.8.0版本后,支持在root或者shizuku授权下,会自动尝试解锁卡悬浮,允许悬浮窗的触摸事件到达底层。
获取权限()
获取悬浮窗权限
- 返回 : {布尔值} 是否有权限
- 版本 : 1.6.8
方框(矩形)
绘制一个方框
- 参数 : 矩形 {Rect} opencv的Rect对象
- 版本 : 1.6.8
方框(节点)
绘制一个方框
- 参数 : 节点 {Node} 节点信息
- 版本 : 1.6.8
方框(x, y, 宽, 高)
绘制一个方框
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度
- 参数 : 高 {int} 高度
- 版本 : 1.6.8
方框(x, y, 宽, 高, 颜色)
绘制一个方框
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度
- 参数 : 高 {int} 高度
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
方框(x, y, 宽, 高, 拓展宽度)
绘制方框
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度
- 参数 : 高 {int} 高度
- 参数 : 拓展宽度 {int} 向四周拓展
- 版本 : 1.6.8
方框(x, y, 宽, 高, 拓展宽度, 颜色)
绘制方框
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度
- 参数 : 高 {int} 高度
- 参数 : 拓展宽度 {int} 向四周拓展
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
方框(x, y, 宽, 高, 拓展宽度, 颜色)
绘制方框
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度
- 参数 : 高 {int} 高度
- 参数 : 拓展宽度 {int} 向四周拓展
- 参数 : 颜色 {int} 颜色
- 版本 : 1.6.8
方框(数组, 拓展宽度, 颜色)
绘制方框
- 参数 : 数组 {数字[]} 范围数组
- 参数 : 拓展宽度 {数字} 向四周拓展
- 参数 : 颜色 {数字} 颜色
- 版本 : 1.8.2
方框(数组, 拓展宽度, 颜色)
绘制方框
- 参数 : 数组 {数字[]} 范围数组
- 参数 : 拓展宽度 {数字} 向四周拓展
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.8.2
准心(位置)
绘制一个十字准心
- 参数 : 位置 {point} opencv的位置
- 版本 : 1.6.8
准心(位置)
绘制一个十字准心
- 参数 : 位置 {int[]} 位置
- 版本 : 1.6.8
准心(节点)
绘制一个十字准心
- 参数 : 节点 {AccessibilityNodeInfo} 节点信息
- 版本 : 1.6.8
准心(节点)
绘制一个十字准心
- 参数 : 节点 {Node} 节点信息
- 版本 : 1.6.8
准心(x, y)
绘制一个十字准心
- 参数 : x {int} 中心x
- 参数 : y {int} 中心y
- 版本 : 1.6.8
准心(x, y, 颜色)
绘制一个十字准心
- 参数 : x {int} 中心x
- 参数 : y {int} 中心y
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
准心(x, y, 颜色)
绘制一个十字准心
- 参数 : x {int} 中心x
- 参数 : y {int} 中心y
- 参数 : 颜色 {int} 颜色值
- 版本 : 1.6.8
点(位置)
绘制一个点
- 参数 : 位置 {int[]} 点
- 版本 : 1.6.8
点(位置)
绘制一个点
- 参数 : 位置 {point} 点
- 版本 : 1.6.8
点(x, y)
绘制一个点
- 参数 : x {int} 点x
- 参数 : y {int} 点y
- 版本 : 1.6.8
点(x, y, 颜色)
绘制一个点
- 参数 : x {int} 点x
- 参数 : y {int} 点y
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
点(x, y, 颜色)
绘制一个点
- 参数 : x {int} 点x
- 参数 : y {int} 点y
- 参数 : 颜色 {int} 颜色值
- 版本 : 1.6.8
文字(文本, x, y)
绘制文字
- 参数 : 文本 {String} 文字
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 版本 : 1.6.8
文字(文字, x, y, 字体大小)
绘制文字
- 参数 : 文字 {String} 文字
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 字体大小 {float} 字体大小
- 版本 : 1.6.8
文字(文字, x, y, 字体大小, 颜色)
绘制文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 字体大小 {int} 字体大小
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
文字(文字, x, y, 字体大小, 颜色)
绘制文字
- 参数 : 文字 {String} 文字
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 字体大小 {int} 字体大小
- 参数 : 颜色 {int} 颜色值
- 版本 : 1.6.8
圆(x, y)
绘制一个圆形
半径默认为50像素
- 参数 : x {int} 圆心x
- 参数 : y {int} 圆心y
- 版本 : 1.6.8
圆(x, y, 半径)
绘制一个圆形
- 参数 : x {int} 圆心x
- 参数 : y {int} 圆心y
- 参数 : 半径 {int} 圆形半径
- 版本 : 1.6.8
圆(x, y, 半径, 拓展宽度)
绘制一个圆形
- 参数 : x {int} 圆心x
- 参数 : y {int} 圆心y
- 参数 : 半径 {int} 圆形半径
- 参数 : 拓展宽度 {int} 圆形向四周拓展
- 版本 : 1.6.8
圆(x, y, r, 拓展宽度, 颜色)
绘制一个圆形
- 参数 : x {int} 圆心x
- 参数 : y {int} 圆心y
- 参数 : r {int} 圆形半径
- 参数 : 拓展宽度 {int} 圆形向四周拓展
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
圆(x, y, 半径, 拓展宽度, 颜色值)
绘制一个圆形
- 参数 : x {int} 圆心x
- 参数 : y {int} 圆心y
- 参数 : 半径 {int} 圆形半径
- 参数 : 拓展宽度 {int} 圆形向四周拓展
- 参数 : 颜色值 {int} 颜色值
- 版本 : 1.1.1
图片(图片, x, y, 宽, 高)
绘制图片
- 参数 : 图片 {Image} 图片对象
- 参数 : x {int} 起点x
- 参数 : y {int} 起点y
- 参数 : 宽 {int} 宽度(绘制后的图片宽度)
- 参数 : 高 {int} 高度(绘制后的图片宽度)
- 版本 : 1.6.8
直线(起点x, 起点y, 目标x, 目标y)
绘制一条线
- 参数 : 起点x {int} 起点x
- 参数 : 起点y {int} 起点y
- 参数 : 目标x {int} 目标x
- 参数 : 目标y {int} 目标y
- 版本 : 1.6.8
直线(起点x, 起点y, 目标x, 目标y, 颜色)
绘制一条线
- 参数 : 起点x {int} 起点x
- 参数 : 起点y {int} 起点y
- 参数 : 目标x {int} 目标x
- 参数 : 目标y {int} 目标y
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
直线(起点x, 起点y, 目标x, 目标y, 颜色)
绘制一条线
- 参数 : 起点x {int} 起点x
- 参数 : 起点y {int} 起点y
- 参数 : 目标x {int} 目标x
- 参数 : 目标y {int} 目标y
- 参数 : 颜色 {int} 颜色值
- 版本 : 1.6.8
路径(路径数据)
绘制路径,传入的就是x和y的数组
- 参数 : 路径数据 {int[][]} 二维数组,第二维数组是坐标
- 版本 : 1.6.8
路径(路径数据, 颜色)
绘制路径,传入的就是x和y的数组
- 参数 : 路径数据 {int[][]} 二维数组,第二维数组是坐标
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
路径(路径数据, 颜色值)
绘制路径,传入的就是x和y的数组
- 参数 : 路径数据 {int[][]} 二维数组,第二维数组是坐标
- 参数 : 颜色值 {int} 颜色值
- 版本 : 1.6.8
信息(文本, x, y, 字体大小)
绘制日志文字
- 参数 : 文本 {字符串} 文字
- 参数 : x {小数} 字体大小
- 版本 : 1.6.8
信息(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.0.0
信息(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
调试(文字, x, y, 字体大小)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {小数} 字体大小
- 版本 : 1.6.8
调试(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
调试(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
警告(文字, x, y, 字体大小)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {小数} 字体大小
- 版本 : 1.6.8
警告(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
警告(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
异常(文字, x, y, 字体大小)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {小数} 字体大小
- 版本 : 1.6.8
异常(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
异常(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
忽略(文字, x, y, 字体大小)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {小数} 字体大小
- 版本 : 1.6.8
忽略(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
忽略(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
日志(文字, 颜色, x, y, 字体大小)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : 颜色 {字符串} 颜色
- 参数 : x {int} 位置x
- 参数 : y {int} 位置y
- 参数 : 字体大小 {float} 字体大小
- 版本 : 1.6.8
日志(文字, 颜色, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : 颜色 {字符串} 颜色
- 参数 : x {int} 位置x
- 参数 : y {int} 位置y
- 版本 : 1.6.8
日志(文字, 颜色)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : 颜色 {字符串} 颜色
- 版本 : 1.6.8
日志(文字)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 版本 : 1.6.8
日志(文字, x, y)
绘制日志文字
- 参数 : 文字 {字符串} 文字
- 参数 : x {int} 位置x
- 参数 : y {int} 位置y
- 版本 : 1.6.8
关闭全部()
关闭绘制日志的悬浮窗
- 版本 : 1.6.8
关闭全部(延迟)
关闭绘制日志的悬浮窗
- 参数 : 延迟 {长整数} 延迟关闭时间
- 版本 : 1.6.8
关闭日志(延迟)
关闭绘制日志的悬浮窗
- 参数 : 延迟 {长整数} 延迟关闭时间
- 版本 : 1.6.8
关闭日志()
关闭绘制日志的悬浮窗
- 版本 : 1.6.8
清空()
清空所有绘制
清空绘制本质上也是绘制的一种,因此它和其他绘制函数一样,会优先判断当前悬浮窗是否开启, 如果悬浮窗没有开启,则创建一个全局悬浮窗至于屏幕最上层,之后绘制透明颜色以达到清空的效果。
如果你已经绘制过图案了,那么此时是存在顶层悬浮窗的,调用次函数的时候会直接绘制透明颜色以达到清空的效果。
如果你不理解什么是绘制透明颜色,可以理解为:画布中的橡皮擦(本质上是把橡皮经过的位置绘制成透明颜色)
- 版本 : 1.6.8