Android悬浮窗屏蔽悬浮窗外部所有的点击事件的实例代码

发布时间 - 2026-01-11 00:26:47    点击率:

Android可以在所有应用上方添加View,就是给WindowManager添加一个View,在创建的View的时候可以给这个View设置LayoutParams(android.view.WindowManager.LayoutParams.LayoutParams())属性,默认是屏蔽View区域以外的所有点击事件,即在显示View的时候,屏幕的其它区域都不可点击,包括菜单和返回键等。
当给LayoutParams设置合适的flag后,其它区域就可以响应点击了。

示例代码:

/**
  * 创建一个小悬浮窗。初始位置为屏幕的右部中间位置。
  * 
  * @param context 必须为应用程序的Context.
  */
 public static void createSmallWindow(Context context) {
  WindowManager windowManager = getWindowManager(context);
  int screenWidth = windowManager.getDefaultDisplay().getWidth();
  int screenHeight = windowManager.getDefaultDisplay().getHeight();
  if (smallWindow == null) {
   smallWindow = new FloatWindowSmallView(context);
   if (smallWindowParams == null) {
    smallWindowParams = new LayoutParams();
    smallWindowParams.type = LayoutParams.TYPE_PHONE;
    smallWindowParams.format = PixelFormat.RGBA_8888;
    smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
      | LayoutParams.FLAG_NOT_FOCUSABLE;
    smallWindowParams.gravity = Gravity.LEFT | Gravity.TOP;
    smallWindowParams.width = FloatWindowSmallView.viewWidth;
    smallWindowParams.height = FloatWindowSmallView.viewHeight;
    smallWindowParams.x = screenWidth;
    smallWindowParams.y = screenHeight / 2;
   }
   smallWindow.setParams(smallWindowParams);
   windowManager.addView(smallWindow, smallWindowParams);
   LogPrinter.i(TAG, "添加了小浮标View");
  }
 }
smallWindowParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL | LayoutParams.FLAG_NOT_FOCUSABLE;

这行代码控制View以外的区域可以响应点击和触摸事件。如果没有设置flag,则View以外区域不能响应

以上所述是小编给大家介绍的Android悬浮窗屏蔽悬浮窗外部所有的点击事件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 悬浮窗屏蔽  # android 添加随意拖动的桌面悬浮窗口  # Android实现桌面悬浮窗、蒙板效果实例代码  # 不依赖于Activity的Android全局悬浮窗的实现  # Android 悬浮窗权限各机型各系统适配大全(总结)  # Android应用内悬浮窗的实现方案示例  # Android实现类似360  # QQ管家那样的悬浮窗  # Android实现类似qq微信消息悬浮窗通知功能  # Android 8.0如何完美适配全局dialog悬浮窗弹出  # Android 获取判断是否有悬浮窗权限的方法  # android仿华为手机悬浮窗设计  # 小编  # 都不  # 在此  # 给大家  # 如果没有  # 所述  # 即在  # 创建一个  # 给我留言  # 感谢大家  # 就可以  # 应用程序  # 这行  # 疑问请  # 有任何  # 窗外  # screenWidth  # Context  # param 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Bootstrap整体框架之JavaScript插件架构  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  javascript中的try catch异常捕获机制用法分析  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  昵图网官方站入口 昵图网素材图库官网入口  如何正确下载安装西数主机建站助手?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  EditPlus中的正则表达式 实战(2)  简单实现Android文件上传  Android 常见的图片加载框架详细介绍  b2c电商网站制作流程,b2c水平综合的电商平台?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  专业商城网站制作公司有哪些,pi商城官网是哪个?  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  Laravel Session怎么存储_Laravel Session驱动配置详解  Laravel如何使用Gate和Policy进行授权?(权限控制)  新三国志曹操传主线渭水交兵攻略  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Thinkphp 中 distinct 的用法解析  如何快速搭建二级域名独立网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  如何在阿里云ECS服务器部署织梦CMS网站?  深圳网站制作平台,深圳市做网站好的公司有哪些?  个人摄影网站制作流程,摄影爱好者都去什么网站?  手机软键盘弹出时影响布局的解决方法  香港服务器WordPress建站指南:SEO优化与高效部署策略  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  EditPlus中的正则表达式实战(6)  Android滚轮选择时间控件使用详解  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】  JavaScript Ajax实现异步通信  高端建站三要素:定制模板、企业官网与响应式设计优化  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  使用Dockerfile构建java web环境  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Bootstrap整体框架之CSS12栅格系统  如何快速登录WAP自助建站平台?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel storage目录权限问题_Laravel文件写入权限设置  三星、SK海力士获美批准:可向中国出口芯片制造设备  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何快速搭建支持数据库操作的智能建站平台?  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)