悬浮窗函数
说明
- 悬浮窗模块函数主要是跟悬浮窗相关联
- 悬浮窗模块的对象前缀是floaty,例如 floaty.requestFloatViewPermission()这样调用
floaty.requestFloatViewPermission 请求悬浮窗权限
- 请求悬浮窗权限
- @return bool true为成功
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100);
logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") }
sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800)
sleep(2000) //更新X坐标 floaty.updateX(tag, 100)
sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.showFloatXml 显示一个XML悬浮窗
- 显示一个XML悬浮窗
- @param tag 悬浮窗的标签
- @param xml xml路径或者内容
- @param x 起始X位置
- @param y 起始Y位置
- @return
{View}android的View对象
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100);
logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") }}
main();floaty.showFloatView 显示一个View悬浮窗
- 显示一个View悬浮窗
- @param tag 悬浮窗的标签
- @param view android的View对象
- @param x 起始X位置
- @param y 起始Y位置
- @return
{View}android的View对象
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); importPackage(android.widget) importPackage(android.graphics) let tv = new TextView(context); tv.setText("TEST"); tv.setBackgroundColor(Color.parseColor("#336699")) let view = floaty.showFloatView(tag, tv, 100, 100); logd(view);}
main();floaty.updateX 设置悬浮窗X坐标
- 设置悬浮窗X坐标
- @param tag 悬浮窗的标签
- @param x X位置
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100);
logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") }
sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800)
sleep(2000) //更新X坐标 floaty.updateX(tag, 100)
sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.updateY 设置悬浮窗Y坐标
- 设置悬浮窗Y坐标
- @param tag 悬浮窗的标签
- @param y Y位置
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800) sleep(2000) //更新X坐标 floaty.updateX(tag, 100) sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.updateSize 设置悬浮窗大小
- 设置悬浮窗大小
- @param tag 悬浮窗的标签
- @param w 宽度
- @param h 高度
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800) sleep(2000) //更新X坐标 floaty.updateX(tag, 100) sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.close 关闭悬浮窗
- 关闭悬浮窗
- @param tag 悬浮窗的标签
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800) sleep(2000) //更新X坐标 floaty.updateX(tag, 100) sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.touchable 设置悬浮窗触摸状态
- 设置悬浮窗可触摸
- @param touchable 是否可触摸 true 代表可触摸,false不能触摸
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800) sleep(2000) //更新X坐标 floaty.updateX(tag, 100) sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.focusable 设置悬浮窗聚焦状态
- 设置悬浮窗可聚焦(视图包含输入框需要聚焦才能进行输入)
- @param focusable 是否可聚焦 true 代表可聚焦,false不能聚焦
- @return
{bool}true成功 false 失败
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; } sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); floaty.focusable(tag, true) logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } sleep(2000) //更新尺寸 floaty.updateSize(tag, 800, 1800) sleep(2000) //更新X坐标 floaty.updateX(tag, 100) sleep(2000) //更新X坐标 floaty.updateY(tag, 100) sleep(2000) //更新不可触摸状态 floaty.touchable(tag, false) sleep(10000) //更新可以触摸状态 floaty.touchable(123, true)}
main();floaty.getX 获取浮窗位置X坐标
- 获取浮窗位置X坐标
- 适合版本:EC 6.7.0+
- @param tag 悬浮窗的标签
- @return
{int}-1 代表失败 其他都是坐标
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); floaty.focusable(tag, true) logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } // 测量一下视图 防止宽度高度获取不到 view.measure(0, 0); sleep(2000) logd(floaty.getX(tag)) logd(floaty.getY(tag)) logd(floaty.getWidth(tag)) logd(floaty.getHeight(tag))
}
main();floaty.getY 获取浮窗位置Y坐标
- 获取浮窗位置y坐标
- 适合版本:EC 6.7.0+
- @param tag 悬浮窗的标签
- @return
{int}-1 代表失败 其他都是坐标
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); floaty.focusable(tag, true) logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } // 测量一下视图 防止宽度高度获取不到 view.measure(0, 0); sleep(2000) logd(floaty.getX(tag)) logd(floaty.getY(tag)) logd(floaty.getWidth(tag)) logd(floaty.getHeight(tag))
}
main();floaty.getWidth 获取浮窗宽度
- 获取浮窗宽度
- 适合版本:EC 6.7.0+
- @param tag 悬浮窗的标签
- @return
{int}-1 代表失败 其他都是坐标
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); floaty.focusable(tag, true) logd(view); // 测量一下视图 防止宽度高度获取不到 view.measure(0, 0); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") }
sleep(2000) logd(floaty.getX(tag)) logd(floaty.getY(tag)) logd(floaty.getWidth(tag)) logd(floaty.getHeight(tag))
}
main();floaty.getHeight 获取浮窗高度
- 获取浮窗高度
- 适合版本:EC 6.7.0+
- @param tag 悬浮窗的标签
- @return
{int}-1 代表失败 其他都是坐标
function main() { let tag = "123"; //关闭tag=123的浮窗 floaty.close(tag) //请求权限 let p = floaty.requestFloatViewPermission(1000) logd("是否有浮窗权限: " + p); if (!p) { loge("没有浮窗权限,终止执行"); return; }
sleep(1000); //展示main.xml文件的视图,并且返回安卓原生原生的对象 let view = floaty.showFloatXml(tag, "main.xml", 100, 100); floaty.focusable(tag, true) logd(view); if (view) { // 从悬浮窗中查找视图tag=web的对象 (例子) //let web = view.findViewWithTag("web") } // 测量一下视图 防止宽度高度获取不到 view.measure(0, 0); sleep(2000) logd(floaty.getX(tag)) logd(floaty.getY(tag)) logd(floaty.getWidth(tag)) logd(floaty.getHeight(tag))
}
main();