AIGameAIGame
首页
API文档
UI框架
下载软件
首页
API文档
UI框架
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
      • 03.节点 - Node
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $date - 日期工具
    • $device - 设备信息
    • $ext - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
      • 01.可调节悬浮窗 - AdjFloaty
      • 02.系统级悬浮窗 - SysFloaty
      • 03.应用级悬浮窗 - AppFloaty
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $permit - 权限工具
    • $qr - 二维码工具
    • $res - 资源管理器
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读
    • $yolo - 目标检测
    • $yolox - 目标检测

AppFloaty

  • 更新时间:2025-09-07 18:14:24

悬浮窗对象

通过$floaty.sys(xml|path)创建

const {WindowManager.LayoutParams} params;

悬浮窗参数

类型:{android.view.WindowManager.LayoutParams}

  • 版本 : 1.3.5

const {WindowManager} manager;

悬浮窗管理器

类型:{android.view.WindowManager}

  • 版本 : 1.3.5

onScreenChange(callback)

设置屏幕旋转监听

  • 参数 : callback {(screenInfo)=>{}} 屏幕旋转时回调
  • 版本 : 1.4.3
let floaty = $floaty.create("./floaty/main.xml");
floaty.onScreenChange((screenInfo)=>{
    //屏幕旋转时回调
    floaty.fill(true);//设置成全屏
});

id(id)

获取控件

  • 参数 : id {string} 控件id
  • 返回 : {XView} 组件
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
        <button id="mButton" text="关闭"/>
    </linear>
</ui>
`);
//获取按钮控件
let mButton = floaty.id("mButton");
//绑定点击事件
mButton.click(()=>{
    //关闭悬浮窗
    floaty.close();
});

fill(fill)

是否全屏显示

此函数会将悬浮窗的尺寸设置成全屏大小,之后刷新悬浮窗界面

当fill(true)的时候悬浮窗将位置设置为(0,0)并且设置宽高为最大后全屏显示;

当fill(false)的时候悬浮窗将位置设置为上次位置,并且宽高设置为自适应,之后显示。

  • 参数 : fill {boolean} 是否全屏
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//全屏显示
floaty.fill(true);

touch(touchable)

设置是否可触摸

此函数会配置悬浮窗的参数是否可以触摸,之后刷新悬浮窗界面

  • 参数 : touchable {boolean} 是否可触摸
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置不可触摸
floaty.touch(false);

setX(x)

设置X坐标

此函数会设置悬浮窗x坐标参数,之后刷新悬浮窗界面

  • 参数 : x {int} X坐标
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置X坐标
floaty.setX(100);

setY(y)

设置Y坐标

此函数会设置悬浮窗y坐标参数,之后刷新悬浮窗界面

  • 参数 : y {int} Y坐标
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置Y坐标
floaty.setY(100);

setXY(x, y)

设置XY坐标

此函数会设置悬浮窗xy坐标参数,之后刷新悬浮窗界面

  • 参数 : x {int} X坐标
  • 参数 : y {int} Y坐标
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置XY坐标
floaty.setXY(100, 100);

setW(w)

设置宽度

此函数会设置悬浮窗宽度参数,之后刷新悬浮窗界面

  • 参数 : w {int} 宽度
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置宽度
floaty.setW(100);

setH(h)

设置高度

此函数会设置悬浮窗高度参数,之后刷新悬浮窗界面

  • 参数 : h {int} 高度
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置高度
floaty.setH(100);

setWH(w, h)

设置宽高

此函数会设置悬浮窗宽高参数,之后刷新悬浮窗界面

  • 参数 : w {int} 宽度
  • 参数 : h {int} 高度
  • 返回 : {SysFloaty} 自己
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//设置宽高
floaty.setWH(100, 100);

check()

断言

判断悬浮窗是否处于可此操作状态,不可操作的状态情况如下:

1.view为空或被移除

2.悬浮窗被关闭

  • 返回 : {boolean} 是否可操作
  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//断言
if(floaty.check()){
    //可以操作
}else{
    //悬浮窗已经关闭啦,不能操作了
}

close()

关闭悬浮窗

  • 版本 : 1.3.5
//创建悬浮窗对象
let floaty = $floaty.create(`
<ui>
    <linear w="max" h="max">
        <!--省略组件-->
    </linear>
</ui>
`);
//关闭悬浮窗
floaty.close();
Prev
02.系统级悬浮窗 - SysFloaty