成都网站建设设计

将想法与焦点和您一起共享

Android利用WindowManager实现悬浮窗-创新互联

前言

创新互联专业为企业提供渝北网站建设、渝北做网站、渝北网站设计、渝北网站制作等企业网站建设、网页设计与制作、渝北企业网站模板建站服务,十载渝北做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

你会发现QQ视频的时候,就算手机回到主页,视频小模块依旧能悬浮在桌面上。还有当年很火的各种手机杀毒软件的桌面小助手,总能在呆在桌面。这种悬浮窗的操作就需要用到Window。

效果

gif图看着有点儿卡,其实实际上还是很流畅的。

Window

Window即窗口,是个抽象类,具体实现就是PhoneWindow,对就是那个装着DecorView的PhoneWindow。

Window整体分三种类型:应用Window、子Window、系统Window。

  • 应用Window:对应一个Activity
  • 子Window:不能单独存在,它需要附属在特定的父Window中,比如常见的一些Dialog就是子Window。
  • 系统Window:需要声明权限才能用,Toast就是一种系统Window。

每种Window类型又能分多个层级:

层级高的Window会覆盖层级低的Window,跟Android5.0引入的Z轴类似。

权限

Android6.0以上,如果要用系统Window,我们需要申请悬浮窗权限。毕竟WindowManager.LayoutParams.TYPE_TOAST权限限制太多了。

Manifests:


本文名称:Android利用WindowManager实现悬浮窗-创新互联
分享URL:http://chengdu.cdxwcx.cn/article/dedehh.html