做过Window程序开发的朋友应该都知道,我们要把程序窗口置顶很简单,只要设置一些窗口属性即可。但是到了Android,你无法简单设置一个属性,就让Android的Activity置顶。因为只要有新的Activity启动,你的Activity界面就会被挡住。今天介绍一下如何把一个窗口置顶。
也许会有人说:你的窗口置顶了,就会破坏系统的稳定性,影响其他程序使用,这是流氓行为o(╯□╰)o 。对于这个问题,如果你的顶层窗口没有处理好,的确会有这个问题。不过对于一些定制系统来说,这个功能可以实现很有用的功能,例如:对于一些需要长时间提示用户的危险警告。例如下面效果图,在浏览图片的时候,系统弹出一个警告框,会一直提示用户注意安全,就算切换到其他程序,这个提示框也会一直在顶层。
(PS:新建的QQ群,有兴趣可以加入一起讨论:Android群:322599434)
1、WindowManager介绍
全部Android的窗口机制是基于一个叫做WindowManager实现,这个接口可以添加view到屏幕,也可以从屏幕删除view。它面向的对象一端是屏幕,另一端就是View,直接忽视我们以前的Activity或者Dialog之类的元素。其实我们的Activity或者Diolog底层的实现也是经过WindowManager,WindowManager是全局的,整个系统只有一个WindowManager。它是显示View的最底层了。WindowManager主要用来管理窗口的一些状态、属性、view增加、删除、更新、窗口顺序、消息收集和处理等。通过Cont