当前位置:网站首页>Auto.js中的悬浮窗
Auto.js中的悬浮窗
2022-08-10 20:26:00 【aiguangyuan】
悬浮窗一般用来显示当前脚本运行的状态和信息,是最为重要的人机交互方式。悬浮窗在脚本停止运行时会自动关闭,因此,要保持悬浮窗不被关闭,需要用一个空的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()
边栏推荐
- Apple Font Lookup
- 烟雾、空气质量、温湿度…自己徒手做个环境检测设备
- "Distributed Microservice E-commerce" Topic (1) - Project Introduction
- spark学习笔记(九)——sparkSQL核心编程-DataFrame/DataSet/DF、DS、RDD三者之间的转换关系
- mysql踩坑----case when then用法
- 这些mysql基础命令、基础知识还记得吗?(面试,学习,复习都可以)一万三千字总结
- “2022零信任神兽方阵”启动调研,欢迎各单位填报信息
- 优雅退出在Golang中的实现
- CMU博士论文 | 视频多模态学习:探索模型和任务复杂性
- 【SemiDrive源码分析】【MailBox核间通信】52 - DCF Notify 实现原理分析 及 代码实战
猜你喜欢

多功能纳米酶Ag/PANI|柔性衬底纳米ZnO酶|铑片纳米酶|Ag-Rh合金纳米颗粒纳米酶|铱钌合金/氧化铱仿生纳米酶

The 2021 ICPC Asia Shanghai Regional Programming Contest D、E

电脑重装系统Win11格式化硬盘的详细方法

Heme - gold nanoparticles (Heme - AuNP) composite nanometer enzyme | gold nanoparticles nuclear porous hollow carbon nanometer spherical shell (Au @ HCNs) nano enzyme

OPPO Enco X2 迎来秋季产品升级 旗舰体验全面拉满
C语言系列——猜名次、猜凶手、打印杨辉三角

win10 xbox录屏功能不能录声音怎么办

leetcode 84.柱状图中最大的矩形 单调栈应用

YOLOv3 SPP source analysis

MATLAB设计,FPGA实现,联合ISE和Modelsim仿真的FIR滤波器设计
随机推荐
电脑为什么会蓝屏的原因
电脑如何去掉u盘写保护的状态
代理模式的使用总结
Pt/CeO2 monatomic nanoparticles enzyme | H - rGO - Pt @ Pd NPs enzyme | carbon nanotube load platinum nanoparticles peptide modified nano enzyme | leukemia antagonism FeOPtPEG composite nano enzyme
爬虫基本原理介绍、实现以及问题解决
[mysql] 深入分析MySQL版本控制MVCC规则
参天生长大模型:昇腾AI如何强壮模型开发与创新之根?
哈工大软件构造Lab3(2022)
不止跑路,拯救误操作rm -rf /*的小伙儿
IIC通信协议总结[通俗易懂]
【毕业设计】基于STM32的天气预报盒子 - 嵌入式 单片机 物联网
XML小讲
电脑重装系统Win11格式化硬盘的详细方法
【毕业设计】基于Stm32的智能疫情防控门禁系统 - 单片机 嵌入式 物联网
深度学习实战教程(一):感知器
Knowledge map Knowledge Graph
MATLAB设计,FPGA实现,联合ISE和Modelsim仿真的FIR滤波器设计
你不知道的浏览器页面渲染机制
CMU博士论文 | 视频多模态学习:探索模型和任务复杂性
铁蛋白颗粒负载雷替曲塞/培美曲塞/磺胺地索辛/金刚烷(科研试剂)