【课件】悬浮窗 – Floaty

悬浮窗在脚本停止运行时会自动关闭,因此,要保持悬浮窗不被关闭,可以用一个空的setInterval来实现,例如:

setInterval(()=>{}, 1000);

1、创建和关闭悬浮窗

本课视频

floaty.window(layout)

  • 创建并显示一个悬浮窗
  • 返回一个FloatyWindow对象。var w = floaty.window(
       <frame gravity=”center”>
           <text id=”text”>悬浮文字</text>
       </frame>
    );

    setTimeout(()=>{
      w.close();
    }, 2000);
  • 因为脚本运行的线程不是UI线程,而所有对控件的修改操作需要在UI线程执行,此时需要用ui.runui.run(function(){
       w.text.setText(“文本”);
    });

floaty.rawWindow(layout)

  • 创建并显示一个原始悬浮窗,返回一个FloatyRawWindow对象
  • floaty.window()函数不同的是,该悬浮窗不会增加任何额外设施(例如调整大小、位置按钮),您可以根据自己需要编写任何布局。
  • 而且,该悬浮窗支持完全全屏,可以覆盖状态栏,因此可以做护眼模式之类的应用var w = floaty.rawWindow(
       <frame gravity=”center”>
           <text id=”text”>悬浮文字</text>
       </frame>
    );

    w.setPosition(500, 500);

    setTimeout(()=>{
      w.close();
    }, 2000);

floaty.closeAll()

  • 关闭所有悬浮窗

2、FloatyWindow对象

本课视频

悬浮窗对象,可通过FloatyWindow.{id}获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么window.aaa即可获取到该控件,类似于ui。

FloatyWindow.setAdjustEnabled(enabled)

  • 是否启用悬浮窗调整(大小、位置)
  • ture启用 false不启用

FloatyWindow.setPosition(x, y)

  • 设置悬浮窗位置

FloatyWindow.getX()

  • 返回悬浮窗位置的X坐标。

FloatyWindow.getY()

  • 返回悬浮窗位置的Y坐标。

FloatyWindow.setSize(width, height)

  • 设置悬浮窗宽高。

FloatyWindow.getWidth()

  • 返回悬浮窗宽度。

FloatyWindow.getHeight()

  • 返回悬浮窗高度。

FloatyWindow.close()

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

FloatyWindow.exitOnClose()

  • 使悬浮窗被关闭时自动结束脚本运行

3、FloatyRawWindow对象

本课视频

原始悬浮窗对象,可通过window.{id}获取悬浮窗界面上的元素。例如, 悬浮窗window上一个控件的id为aaa, 那么window.aaa即可获取到该控件,类似于ui。

FloatyRawWindow.setTouchable(touchable)

  • touchable {Boolean} 是否可触摸
  • true可触摸悬浮窗 false 不可触摸悬浮窗var w = floaty.rawWindow(
      <frame gravity=”center” bg=”#44ffcc00″/>
    );

    w.setSize(-1, -1);
    w.setTouchable(false);

    setTimeout(()=>{
      w.close();
    }, 4000);

FloatyRawWindow.setPosition(x, y)

  • 设置悬浮窗位置

FloatyRawWindow.getX()

  • 返回悬浮窗位置的X坐标。

FloatyRawWindow.getY()

  • 返回悬浮窗位置的Y坐标。

FloatyRawWindow.setSize(width, height)

  • 设置悬浮窗宽高。
  • 如果设置为-1,则为占满全屏;

FloatyRawWindow.getWidth()

  • 返回悬浮窗宽度。

FloatyRawWindow.getHeight()

  • 返回悬浮窗高度。

FloatyRawWindow.close()

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

FloatyRawWindow.exitOnClose()

  • 使悬浮窗被关闭时自动结束脚本运行
搜索