$floaty - 悬浮窗

  • 更新时间:2025-12-13 11:58:45

悬浮窗

获取权限()

获取悬浮窗权限

这个方法是个阻塞方法,如果没有获取到悬浮窗权限,则每隔30秒会请求一次权限,那么后面的代码不会被执行,并且会一直等待悬浮窗权限,直到获取到为止。

如果你希望只获取一次悬浮窗权限,可以调用$permit.floaty();来获取权限

  • 返回 : {布尔值} 是否有权限

  • 版本 : 1.7.0

//获取悬浮窗权限
定义 获取成功 = $悬浮窗.获取权限();
如果(获取成功){
    日志("获取到悬浮窗权限");
}

有权限()

是否有悬浮窗权限

  • 返回 : {布尔值} 是否有悬浮窗权限

  • 版本 : 1.7.0

//是否有悬浮窗权限
定义 有权限 = $悬浮窗.有权限();
如果(有权限){
    日志("有悬浮窗权限");
}

新建可调节(xml内容或者路径)

创建可调节悬浮窗

  • 参数 : xml内容或者路径 {xml|path} xml或路径

  • 返回 : {AdjustableFloaty} 可调节悬浮窗

  • 版本 : 1.7.0

//你可以直接引入一个布局文件创建一个可调节悬浮窗
定义 可调节悬浮窗1 = $悬浮窗.新建可调节("./res/layout/floaty_adj.xml");
//你也可以直接把xml写成字符串传入
定义 可调节悬浮窗2 = $悬浮窗.新建可调节(`<ui>...</ui>`);

新建应用级(xml内容或者路径)

创建应用级悬浮窗

  • 参数 : xml内容或者路径 {xml|path} xml或路径

  • 返回 : {AppFloaty} 悬浮窗

  • 版本 : 1.7.0

//你可以直接引入一个布局文件创建一个应用级悬浮窗
定义 应用悬浮窗1 = $悬浮窗.新建应用级("./res/layout/floaty_app.xml");
//你也可以直接把xml写成字符串传入
定义 应用悬浮窗2 = $悬浮窗.新建应用级(`<ui>...</ui>`);

新建应用级(xml内容或者路径, 可触摸)

创建应用级悬浮窗

  • 参数 : xml内容或者路径 {xml|path} xml或路径

  • 参数 : 可触摸 {布尔值} 是否可触摸(默认:是)

  • 返回 : {AppFloaty} 悬浮窗

  • 版本 : 1.8.3

//你可以直接引入一个布局文件创建一个应用级悬浮窗
定义 应用悬浮窗1 = $悬浮窗.新建应用级("./res/layout/floaty_app.xml",);
//你也可以直接把xml写成字符串传入
定义 应用悬浮窗2 = $悬浮窗.新建应用级(`<ui>...</ui>`,);

新建系统级(xml内容或者路径)

创建系统级悬浮窗

系统级悬浮窗可以全屏覆盖包括导航栏和状态栏的位置,不过这种悬浮窗容易被第三方应用检测到,部分游戏检测到此类悬浮窗后会自动闪退。

  • 参数 : xml内容或者路径 {xml|path} xml或路径

  • 返回 : {SysFloaty} 悬浮窗

  • 版本 : 1.7.0

//你可以直接引入一个布局文件创建一个系统级悬浮窗
定义 系统悬浮窗1 = $悬浮窗.新建系统级("./res/layout/floaty_sys.xml");
//你也可以直接把xml写成字符串传入
定义 系统悬浮窗2 = $悬浮窗.新建系统级(`<ui>...</ui>`);

新建系统级(xml内容或者路径, 可触摸)

创建系统级悬浮窗

系统级悬浮窗可以全屏覆盖包括导航栏和状态栏的位置,不过这种悬浮窗容易被第三方应用检测到,部分游戏检测到此类悬浮窗后会自动闪退。

  • 参数 : xml内容或者路径 {xml|path} xml或路径

  • 参数 : 可触摸 {布尔值} 是否可触摸

  • 返回 : {SysFloaty} 悬浮窗

  • 版本 : 1.8.3

//你可以直接引入一个布局文件创建一个系统级悬浮窗
定义 系统悬浮窗1 = $悬浮窗.新建系统级("./res/layout/floaty_sys.xml",);
//你也可以直接把xml写成字符串传入
定义 系统悬浮窗2 = $悬浮窗.新建系统级(`<ui>...</ui>`,);

新建范围选择(回调)

创建选择范围悬浮窗

该悬浮窗将显示一个范围选择器,你可以调节选框的大小和位置,当悬浮窗关闭的时候,将会回调出选框的位置和范围数据。

  • 参数 : 回调 {SimpleFloatArrCallback} 关闭时回调范围数据

  • 返回 : {SelectFloaty} 选择范围悬浮窗

  • 版本 : 1.8.3

$悬浮窗.新建范围选择((范围)=>{
    日志("用户选择范围:",范围);
});

关闭所有()

关闭所有悬浮窗

  • 版本 : 1.7.0

$悬浮窗.关闭所有();