autojs悬浮窗点击穿透
牙叔教程 简单易懂
使用场景
想让悬浮窗可以调整大小, 位置, 又想设置悬浮窗是否可触摸
autojs版本
8.8.12-0
悬浮窗简介
autojs悬浮窗有两种
- FloatyWindow: 可以调整位置, 大小
- floaty.rawWindow: 可以设置是否可以触摸
有的人吧, 就想合二为一, 鱼和熊掌都想要, 就研究研究, 也是百度了上百个帖子, 才研究出来, 写个教程费劲哪,
懂的东西太少了, 不懂的东西太多了
代码讲解
1. 导入类
importClass(android.view.WindowManager);
importClass("android.view.Gravity");
importClass("android.graphics.PixelFormat");
2. 布局
var w = floaty.window(<frame id="parent" gravity="center" bg="#f0f0f0"><button id="btn" textSize="30sp">牙叔教程 简单易懂</button></frame>
);
3. 设置按钮点击事件, 用于测试触摸功能
w.btn.click(function () {toastLog("牙叔教程 简单易懂");
});
4. 设置触摸属性
let parentParent = w.parent.parent.parent.parent;
setTouchable(parentParent, true);
5. 设置大小等属性
w.setAdjustEnabled(true);
w.setSize(600, 600);setInterval(function () {}, 1000);
6. setTouchable函数
function setTouchable(view, touchable) {let params = view.getLayoutParams();if (touchable) {params.flags &= ~WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;} else {params.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;}log(params.flags);windowManager = context.getSystemService(context.WINDOW_SERVICE);ui.run(function () {windowManager.updateViewLayout(view, params);});
}
7. 控制触摸属性的悬浮窗布局
// 由于触摸是针对整个悬浮窗的, 所以需要另外的悬浮窗来辅助修改悬浮窗的触摸属性,
// 因为一旦悬浮窗设置了不可触摸, 就无法再控制了
var w2 = floaty.window(<frame id="parent" gravity="center" bg="#f0f0f0"><button id="btn2" textSize="17sp"></button></frame>
);
8. 修改触摸属性, 最重要的代码
let params = parentParent.getLayoutParams();
if (params.flags == 16777736) {log("当前可以触摸, 修改为不可触摸");params.flags |= WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
} else if (params.flags == 16777752) {log("当前不可以触摸, 修改为可触摸");params.flags &= ~WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
} else {throw new Error("params.flags 未知数: " + params.flags);
}windowManager = context.getSystemService(context.WINDOW_SERVICE);
windowManager.updateViewLayout(parentParent, params);
完整源码
公众号回复 悬浮窗穿透
声明
部分内容来自网络
本教程仅用于学习, 禁止用于其他用途
bilibili
牙叔教程
微信公众号 牙叔教程
QQ群
747748653
autojs悬浮窗点击穿透相关推荐
- autojs悬浮窗权限申请和判断
下面展示一些 内联代码片. 大家好,今天跟大家分享autojs悬浮窗权限的申请和判断,autojs小学生一名,大佬轻拍.对您有帮助的话,帮忙点个赞.有什么要交流的可以私信我,谢谢! 代码如下: &qu ...
- uniapp 悬浮窗插件(在其他应用上层显示) Ba-FloatWindow
悬浮窗(在其他应用上层显示) Ba-FloatWindow 简介(下载地址) Ba-FloatWindow 是一款在其他应用上层显示的悬浮窗插件.支持多种场景:支持拖动:支持多个. 支持自动定义起始位 ...
- Android 悬浮窗功能的实现
前言 我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例.编码实现使用Kotlin.Java版本留言邮 ...
- 像360悬浮窗那样,用WindowManager做一个炫酷的悬浮迷你音乐盒(上)
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 记得上一篇讲的是用RotateDrawable实现网易云音乐唱片机效果,而今天我要讲的是如何用WindowManager去实现一个 ...
- 安卓股票悬浮窗_Android 实现悬浮窗功能
前言 我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例.编码实现使用Kotlin.Java版本留言邮 ...
- android 360 悬浮窗,360手机卫士悬浮窗显示与隐藏方法
使用安卓手机的朋友大多安装了360手机卫士吧?安装了360手机卫士安卓版之后就会在桌面上显示一个悬浮窗,那么如何隐藏?又如何开启显示,我们一起来阅读下边的图文教程吧! 需要说明的是:iPhone手机不 ...
- Android Demo : 悬浮窗
Android Demo : 悬浮窗 搬砖自:简书 链接:https://www.jianshu.com/p/ac63c57d2555 设计思路分析 本Demo的设计思路如下: 一个MainActiv ...
- 小程序全局悬浮窗_小程序悬浮窗-微信小程序制作
观看此功能视频教程请点击:http://school.jisuapp.cn/courses/151-20.html 一.悬浮窗的定义 悬浮窗:在小程序界面悬挂在右侧,可以快速直接进入到软件功能的快捷键 ...
- android自动申请悬浮窗权限,Android 悬浮窗--无需权限
image.png 无需一切权限,不受各种国产ROM限制,默认可以显示的应用内悬浮窗. 应用内显示,无需申请任何权限 应用内显示,所有机型都可以默认显示悬浮窗,无需引导用户做更多设置 支持拖拽 超出屏 ...
最新文章
- matlab绘制图形hold on_matlab 中 hold on 和hold off的使用
- Leangoo领歌敏捷工具新增测试管理功能
- CSU 1113 Updating a Dictionary(map容器应用)
- maven学习十之myEclipse搭建maven项目总结
- 洛谷P2670扫雷游戏题解
- tensorflow中的正则化解决过拟合问题
- 14门教程带你全面入门Linux
- vue学习问题总结(一)
- ArrayList类源码阅读
- 10g_DBWn_concept
- 北大核刊最新版2020目录_重磅!最新版CSSCI 来源期刊目录(2019-2020)
- ThinkPHP多语言包功能使用
- 【408:计算机组成原理】起源:带你速看计算机伟大历史
- win10内存满载测试软件,Win10自带的内存检测工具怎么用
- 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?
- 手把手教你搭建属于自己的技术博客
- Java Annotation自定义注解详解
- 福建农林大学计算机与信息学院副书记,福建农林大学计算机与信息学院导师介绍:钟一文...
- 关于n%k=n-(n/k)*K
- C# Windows 7任务栏开发之进度条(Progress Bar)
热门文章
- 达芬奇密码 第五十五章 第五十六章
- 报告称国内超八成城市房价跌回一年前 北京上海回涨
- javascript instaceof
- Win10安装 sql2008 R2
- 记一次asp+mssql的注入和命令执行(已脱敏)
- Fibonacci 数列和 Lucas 数列的性质、推论及其证明
- 服务器普通硬盘,服务器硬盘和普通硬盘区别
- python --windos系统托盘
- 大数据时代的背景与变化
- 【一看就懂】tf.logical_and(),tf.logical_or(),tf.logical_not(),tf.logical_xor()