Auto.js中的悬浮窗

Posted aiguangyuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Auto.js中的悬浮窗相关的知识,希望对你有一定的参考价值。

悬浮窗一般用来显示当前脚本运行的状态和信息,是最为重要的人机交互方式。悬浮窗在脚本停止运行时会自动关闭,因此,要保持悬浮窗不被关闭,需要用一个空的setInterval来实现。

setInterval(()=>, 1000);

1. 创建和关闭悬浮窗

1.1. 创建并显示一个悬浮窗;

var obj = floaty.window(
    <frame gravity="center">
        <text id="text">悬浮文字</text>
    </frame>
);

// 2秒后关闭窗口
setTimeout(()=>
    obj.close();
, 2000);

上面的代码中会返回一个FloatyWindow对象。由于脚本运行的线程不是UI线程,而所有对控件的修改操作需要在UI线程执行,此时需要用ui.run(function())方法来调用。

ui.run(function()
    // obj对应窗口返回的对象
    // text对应节点的ID 
    obj.text.setText("文本");
);

1.2. 创建并显示一个原始悬浮窗;

var obj = floaty.rawWindow(
    <frame gravity="center">
        <text id="text">悬浮文字</text>
    </frame>
);
// 设置悬浮窗的位置
obj.setPosition(500, 500);

setTimeout(()=>
    // 2秒后关闭窗口
    obj.close();
, 2000);

返回一个FloatyRawWindow对象。与floaty.window()函数产生悬浮窗不同的是:该悬浮窗不会增加任何额外功能(调整大小、位置按钮),可以根据自己需要编写任何布局。另外该悬浮窗支持完全全屏,可以覆盖状态栏,因此可以做护眼模式之类的应用。

1.3. 关闭所有悬浮窗

floaty.closeAll()


2. FloatyWindow对象

悬浮窗对象,可通过ID获取悬浮窗界面上的控件。例如通过FloatyWindow创建了悬浮窗window,window上一个控件的id为input, 那么window.input 即可获取该控件。

FloatyWindow对象常见的方法如下:

2.1. 是否启用悬浮窗调整;

FloatyWindow.setAdjustEnabled(enabled)

enabled的值为ture表示启用,false为不启用。

2.2. 设置悬浮窗位置;

FloatyWindow.setPosition(x,y) 

2.3. 获取悬浮窗位置的X坐标;

FloatyWindow.getX()

2.4. 获取悬浮窗位置的Y坐标;

FloatyWindow.getY()

2.5. 设置悬浮窗宽高;

FloatyWindow.setSize(width,height)

2.6. 获取悬浮窗宽度;

FloatyWindow.getWidth()

2.7. 获取悬浮窗高度;

FloatyWindow.getHeight()

2.8. 关闭悬浮窗;

FloatyWindow.close()

如果悬浮窗已经是关闭状态,将不执行任何操作,被关闭后的悬浮窗不能再显示。

2.9. 悬浮窗被关闭时自动结束脚本运行;

FloatyWindow.exitOnClose()

3. FloatyRawWindow对象

原始悬浮窗对象,可通过ID获取悬浮窗界面上的控件。例如通过FloatyRawWindow创建了悬浮窗window,window上一个控件的id为input, 那么window.input 即可获取该控件。

FloatyRawWindow对象常见的方法如下:

3.1. 设置是否可以触摸;

FloatyRawWindow.setTouchable(touchable)

touchable的值为ture表示可触摸悬浮窗 ,false表示不可触摸悬浮窗。

var obj = floaty.rawWindow(
    <frame gravity="center" bg="#44ffcc00"/>
);

obj.setSize(-1, -1);

obj.setTouchable(true);

setTimeout(()=>
    obj.close();
, 4000);

3.2. 设置悬浮窗位置;

FloatyRawWindow.setPosition(x, y)

3.3. 获取悬浮窗位置的X坐标;

FloatyRawWindow.getX()

3.4. 获取悬浮窗位置的Y坐标;

FloatyRawWindow.getY()

3.5. 设置悬浮窗宽高;

FloatyRawWindow.setSize(width, height)

如果设置为-1,则为占满全屏。

3.6. 获取悬浮窗宽度;

FloatyRawWindow.getWidth()

3.7. 获取悬浮窗高度;

FloatyRawWindow.getHeight()

3.8. 关闭悬浮窗;

FloatyRawWindow.close()

如果悬浮窗已经是关闭状态,则此函数将不执行任何操作,被关闭后的悬浮窗不能再显示。

3.9. 悬浮窗被关闭时自动结束脚本运行;

FloatyRawWindow.exitOnClose()

以上是关于Auto.js中的悬浮窗的主要内容,如果未能解决你的问题,请参考以下文章

Auto.js中的悬浮窗

Auto.js中的控制台相关命令

Auto.js中的控制台相关命令

Auto.js中的控制台相关命令

android 全局悬浮窗的使用以及权限

如何取消IDEA中有弹窗时,鼠标自动跳转到确认按钮。