悬浮窗一般用来显示当前脚本运行的状态和信息,是最为重要的人机交互方式。悬浮窗在脚本停止运行时会自动关闭,因此,要保持悬浮窗不被关闭,需要用一个空的setInterval来实现。
setInterval(()=>{}, 1000);
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("文本");
});
var obj = floaty.rawWindow(
<frame gravity="center">
<text id="text">悬浮文字</text>
</frame>
);
// 设置悬浮窗的位置
obj.setPosition(500, 500);
setTimeout(()=>{
// 2秒后关闭窗口
obj.close();
}, 2000);
返回一个FloatyRawWindow对象。与floaty.window()函数产生悬浮窗不同的是:该悬浮窗不会增加任何额外功能(调整大小、位置按钮),可以根据自己需要编写任何布局。另外该悬浮窗支持完全全屏,可以覆盖状态栏,因此可以做护眼模式之类的应用。
floaty.closeAll()
悬浮窗对象,可通过ID获取悬浮窗界面上的控件。例如通过FloatyWindow创建了悬浮窗window,window上一个控件的id为input, 那么window.input 即可获取该控件。
FloatyWindow对象常见的方法如下:
FloatyWindow.setAdjustEnabled(enabled)
enabled的值为ture表示启用,false为不启用。
FloatyWindow.setPosition(x,y)
FloatyWindow.getX()
FloatyWindow.getY()
FloatyWindow.setSize(width,height)
FloatyWindow.getWidth()
FloatyWindow.getHeight()
FloatyWindow.close()
如果悬浮窗已经是关闭状态,将不执行任何操作,被关闭后的悬浮窗不能再显示。
FloatyWindow.exitOnClose()
原始悬浮窗对象,可通过ID获取悬浮窗界面上的控件。例如通过FloatyRawWindow创建了悬浮窗window,window上一个控件的id为input, 那么window.input 即可获取该控件。
FloatyRawWindow对象常见的方法如下:
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);
FloatyRawWindow.setPosition(x, y)
FloatyRawWindow.getX()
FloatyRawWindow.getY()
FloatyRawWindow.setSize(width, height)
如果设置为-1,则为占满全屏。
FloatyRawWindow.getWidth()
FloatyRawWindow.getHeight()
FloatyRawWindow.close()
如果悬浮窗已经是关闭状态,则此函数将不执行任何操作,被关闭后的悬浮窗不能再显示。
FloatyRawWindow.exitOnClose()
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有