牙叔教程 简单易懂

使用场景

想让悬浮窗可以调整大小, 位置, 又想设置悬浮窗是否可触摸

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悬浮窗点击穿透相关推荐

  1. autojs悬浮窗权限申请和判断

    下面展示一些 内联代码片. 大家好,今天跟大家分享autojs悬浮窗权限的申请和判断,autojs小学生一名,大佬轻拍.对您有帮助的话,帮忙点个赞.有什么要交流的可以私信我,谢谢! 代码如下: &qu ...

  2. uniapp 悬浮窗插件(在其他应用上层显示) Ba-FloatWindow

    悬浮窗(在其他应用上层显示) Ba-FloatWindow 简介(下载地址) Ba-FloatWindow 是一款在其他应用上层显示的悬浮窗插件.支持多种场景:支持拖动:支持多个. 支持自动定义起始位 ...

  3. Android 悬浮窗功能的实现

    前言 我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例.编码实现使用Kotlin.Java版本留言邮 ...

  4. 像360悬浮窗那样,用WindowManager做一个炫酷的悬浮迷你音乐盒(上)

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 记得上一篇讲的是用RotateDrawable实现网易云音乐唱片机效果,而今天我要讲的是如何用WindowManager去实现一个 ...

  5. 安卓股票悬浮窗_Android 实现悬浮窗功能

    前言 我们大多数在两种情况下可以看到悬浮窗,一个是视频通话时的悬浮窗,另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例.编码实现使用Kotlin.Java版本留言邮 ...

  6. android 360 悬浮窗,360手机卫士悬浮窗显示与隐藏方法

    使用安卓手机的朋友大多安装了360手机卫士吧?安装了360手机卫士安卓版之后就会在桌面上显示一个悬浮窗,那么如何隐藏?又如何开启显示,我们一起来阅读下边的图文教程吧! 需要说明的是:iPhone手机不 ...

  7. Android Demo : 悬浮窗

    Android Demo : 悬浮窗 搬砖自:简书 链接:https://www.jianshu.com/p/ac63c57d2555 设计思路分析 本Demo的设计思路如下: 一个MainActiv ...

  8. 小程序全局悬浮窗_小程序悬浮窗-微信小程序制作

    观看此功能视频教程请点击:http://school.jisuapp.cn/courses/151-20.html 一.悬浮窗的定义 悬浮窗:在小程序界面悬挂在右侧,可以快速直接进入到软件功能的快捷键 ...

  9. android自动申请悬浮窗权限,Android 悬浮窗--无需权限

    image.png 无需一切权限,不受各种国产ROM限制,默认可以显示的应用内悬浮窗. 应用内显示,无需申请任何权限 应用内显示,所有机型都可以默认显示悬浮窗,无需引导用户做更多设置 支持拖拽 超出屏 ...

最新文章

  1. matlab绘制图形hold on_matlab 中 hold on 和hold off的使用
  2. Leangoo领歌敏捷工具新增测试管理功能
  3. CSU 1113 Updating a Dictionary(map容器应用)
  4. maven学习十之myEclipse搭建maven项目总结
  5. 洛谷P2670扫雷游戏题解
  6. tensorflow中的正则化解决过拟合问题
  7. 14门教程带你全面入门Linux
  8. vue学习问题总结(一)
  9. ArrayList类源码阅读
  10. 10g_DBWn_concept
  11. 北大核刊最新版2020目录_重磅!最新版CSSCI 来源期刊目录(2019-2020)
  12. ThinkPHP多语言包功能使用
  13. 【408:计算机组成原理】起源:带你速看计算机伟大历史
  14. win10内存满载测试软件,Win10自带的内存检测工具怎么用
  15. 揭秘“菲住布渴”中运用的黑科技:除了check in、坐电梯、开门...全部刷脸之外,还有什么?
  16. 手把手教你搭建属于自己的技术博客
  17. Java Annotation自定义注解详解
  18. 福建农林大学计算机与信息学院副书记,福建农林大学计算机与信息学院导师介绍:钟一文...
  19. 关于n%k=n-(n/k)*K
  20. C# Windows 7任务栏开发之进度条(Progress Bar)

热门文章

  1. 达芬奇密码 第五十五章 第五十六章
  2. 报告称国内超八成城市房价跌回一年前 北京上海回涨
  3. javascript instaceof
  4. Win10安装 sql2008 R2
  5. 记一次asp+mssql的注入和命令执行(已脱敏)
  6. Fibonacci 数列和 Lucas 数列的性质、推论及其证明
  7. 服务器普通硬盘,服务器硬盘和普通硬盘区别
  8. python --windos系统托盘
  9. 大数据时代的背景与变化
  10. 【一看就懂】tf.logical_and(),tf.logical_or(),tf.logical_not(),tf.logical_xor()