全国咨询热线:400-618-4000

Android培训之WindowManager的使用(一)

创建时间:2016年07月13日16时59分

WindowManager的使用

简介:有时候我们需要显示一个悬浮窗,而这个悬浮窗不只是显示在我们的应用中,还可以显示在别的应用中,比如桌面上的悬浮球,来去电界面的归属地等等,这种效果就需要使用WindowManager来实现。本文就详细地介绍了WindowManager的使用。

1. WindowManager,Window的介绍

1.1. Window

Window表示一个窗口。对于Android里的Window,我们可以类比Windows系统中的Window,在Windows中,每打开一个软件,都会弹出一个窗口,这个窗口右上角有最小化,最大化,关闭按钮,做了某些操作时,也可能会弹出一个窗口,下面可能会有确定,取消之类的按钮,这些都是Windows系统中的窗口。如图所示:
 
在Android里,也有Window的概念,但是Android里的Window没有边框, 也没有最大最小关闭按钮的。如图所示:
 
Android中所有的界面都是显示在一个个Window中的,包括Activity,Dialog,Toast,甚至状态栏,最近应用列表,都是在Window中显示的。只是我们看不到这些Window的边框,只能看到里面的内容。其实 Window并不能真正的显示内容,它只是一个虚拟的"框",真正能显示内容的是View。Window是View的直接管理者,触摸事件也是先由Window接收,然后传递给View的。
Window是一个抽象类,在Android手机中,Window的实现类是PhoneWindow。

1.2. WindowManager

WindowManager是Window的管理者,对应着系统底层的一个服务:WindowManagerService。
我们无法直接访问Window,要操作Window,必须通过WindowManager。WindowManager有三个常用方法:addView,removeView,updateViewLayout我们可以通过WindowManager往屏幕上添加/删除一个Window,或者通过它修改一个Window的布局参数。
WindowManager是一个接口,在Android中,WindowManager的实现类WindowManagerImpl。

本文版权归传智播客Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Android培训学院
首发:http://www.itcast.cn/Android