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


相关推荐: 如何用已有域名快速搭建网站?  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  北京网站制作公司哪家好一点,北京租房网站有哪些?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何在阿里云部署织梦网站?  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Linux安全能力提升路径_长期防护思维说明【指导】  敲碗10年!Mac系列传将迎来「触控与联网」双革新  如何为不同团队 ID 动态生成多个非值班状态按钮  微信小程序 wx.uploadFile无法上传解决办法  Android okhttputils现在进度显示实例代码  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  Python文件操作最佳实践_稳定性说明【指导】  Python3.6正式版新特性预览  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  微信小程序制作网站有哪些,微信小程序需要做网站吗?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  如何在景安服务器上快速搭建个人网站?  如何在IIS7上新建站点并设置安全权限?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  Android GridView 滑动条设置一直显示状态(推荐)  Laravel如何实现文件上传和存储?(本地与S3配置)  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  Laravel如何实现API速率限制?(Rate Limiting教程)  Laravel如何使用Sanctum进行API认证?(SPA实战)  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何快速查询网址的建站时间与历史轨迹?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel如何实现模型的全局作用域?(Global Scope示例)  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Python图片处理进阶教程_Pillow滤镜与图像增强  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Bootstrap整体框架之JavaScript插件架构  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  Java类加载基本过程详细介绍  如何利用DOS批处理实现定时关机操作详解  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  Internet Explorer官网直接进入 IE浏览器在线体验版网址  微信小程序 input输入框控件详解及实例(多种示例)  如何注册花生壳免费域名并搭建个人网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?