Android中悬浮窗口的实现


转贴自http://blog.163.com/dangzhengtao@yeah/blog/static/77800874201111111323420/



调用WindowManager,并设置WindowManager.LayoutParams的相关属性,通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,实现悬浮窗口效果!

WindowManager的方法很简单,基本用到的就三个addView,removeView,updateViewLayout。

而WindowManager.LayoutParams的属性就多了,非常丰富,具体请查看SDK文档。这里给出Android中的WindowManager.java源码,可以具体看一下

下面是简单示例代码:

别忘了在AndroidManifest.xml中添加权限:

PS:这里举例说明一下type的值的意思:

这个FIRST_SYSTEM_WINDOW的值就是2000。2003和2002的区别就在于2003类型的View比2002类型的还要top,能显示在系统下拉状态栏之上!

你可能感兴趣的:(android)