SysFloaty - 系统级悬浮窗
系统级悬浮窗
通过$floaty.newSys(xml|path)创建,悬浮窗会盖住导航栏和状态栏,是一个比较霸道的悬浮窗。
const {WindowManager.LayoutParams} params;
悬浮窗参数
类型:{android.view.WindowManager.LayoutParams}
const {WindowManager} manager;
悬浮窗管理器
类型:{android.view.WindowManager}
监听屏幕旋转(旋转回调)
设置屏幕旋转监听
定义 悬浮窗 = $悬浮窗.新建系统级("./floaty/main.xml");
悬浮窗.监听屏幕旋转((屏幕信息)=>{
//屏幕旋转时回调
悬浮窗.全屏(是);//设置成全屏
});
找控件(控件id)
获取控件
-
参数 : 控件id {字符串} 控件找控件
-
返回 : {XView} 组件
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
<按钮 标识="关闭按钮" text="关闭"/>
</线性布局>
</界面>
`);
//获取按钮控件
定义 关闭按钮 = 悬浮窗.找控件("关闭按钮");
//绑定点击事件
关闭按钮.点击事件(()=>{
//关闭悬浮窗
悬浮窗.关闭();
});
全屏(是否全屏)
是否全屏显示
此函数会将悬浮窗的尺寸设置成全屏大小,之后刷新悬浮窗界面
当全屏(true)的时候悬浮窗将位置设置为(0,0)并且设置宽高为最大后全屏显示;
当全屏(false)的时候悬浮窗将位置设置为上次位置,并且宽高设置为自适应,之后显示。
-
参数 : 是否全屏 {布尔值} 是否全屏
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//全屏显示
悬浮窗.全屏(是);
触摸(是否可触摸)
设置是否可触摸
此函数会配置悬浮窗的参数是否可以触摸,之后刷新悬浮窗界面
-
参数 : 是否可触摸 {布尔值} 是否可触摸
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置不可触摸
悬浮窗.触摸(否);
设置x(x)
设置X坐标
此函数会设置悬浮窗x坐标参数,之后刷新悬浮窗界面
-
参数 : x {整数} X坐标
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置X坐标
悬浮窗.设置x(100);
设置y(y)
设置Y坐标
此函数会设置悬浮窗y坐标参数,之后刷新悬浮窗界面
-
参数 : y {整数} Y坐标
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置Y坐标
悬浮窗.设置y(100);
设置位置(x, y)
设置XY坐标
此函数会设置悬浮窗xy坐标参数,之后刷新悬浮窗界面
-
参数 : x {整数} X坐标
-
参数 : y {整数} Y坐标
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置XY坐标
悬浮窗.设置位置(100, 100);
设置宽度(宽度)
设置宽度
此函数会设置悬浮窗宽度参数,之后刷新悬浮窗界面
-
参数 : 宽度 {整数} 宽度
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置宽度
悬浮窗.设置宽度(100);
设置高度(高度)
设置高度
此函数会设置悬浮窗高度参数,之后刷新悬浮窗界面
-
参数 : 高度 {整数} 高度
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置高度
悬浮窗.设置高度(100);
设置宽高(宽度, 高度)
设置宽高
此函数会设置悬浮窗宽高参数,之后刷新悬浮窗界面
-
参数 : 宽度 {整数} 宽度
-
参数 : 高度 {整数} 高度
-
返回 : {SysFloaty} 自己
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//设置宽高
悬浮窗.设置宽高(100, 100);
断言()
断言
判断悬浮窗是否处于可此操作状态,不可操作的状态情况如下:
1.view为空或被移除
2.悬浮窗被关闭
-
返回 : {布尔值} 是否可操作
-
版本 : 1.7.0
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//断言
如果(悬浮窗.断言()){
//可以操作
}否则{
//悬浮窗已经关闭啦,不能操作了
}
关闭()
关闭悬浮窗
//创建悬浮窗对象
定义 悬浮窗 = $悬浮窗.新建系统级(`
<界面>
<线性布局 宽="最大" 高="最大">
<!--省略组件-->
</线性布局>
</界面>
`);
//关闭悬浮窗
悬浮窗.关闭();