Android Manager之WindowManager(窗口管理服务)
1.简介
WindowManager(窗口管理服务), 它是显示View的最底层,Toast,Activity,Dialog的底层都用到了这个WindowManager, 他是全局的!该类的核心无非:调用addView,removeView,updateViewLayout这几个方法 来显示View以及通过WindowManager.LayoutParams这个API来设置相关的属性。
Android为我们提供的用于与窗口管理器进行交互的一个API。我们都知道App的界面都是 由一个个的Acitivty组成,而Activity又由View组成,当我们想显示一个界面的时候, 第一时间想起的是:Activity,又或者是Dialog和Toast。 但是有些情况下,前面这三者可能满足不了我们的需求,比如我们仅仅是一个简单的显示 用Activity显得有点多余了,而Dialog又需要Context对象,Toast又不可以点击 。对于以上的情况我们可以利用WindowManager添加View到屏幕上, 或者从屏幕上移除View。他就是管理Android窗口机制的一个接口,显示View的最底层。
2.获得WindowManager实例
2.1.获得WindowManager对象
WindowManager wm = getApplicationContext().getSystemService(Context. WINDOW_ SERVICE);
2.2.获得WindowManager.LayoutParams对象
WindowManager.LayoutParams wmParams=new WindowManager.LayoutParams();
3.WindowManager使用实例
3.1.设置窗口全屏显示
代码:
之前
之后
3.2.保持屏幕常亮
3.3.获取屏幕宽高
附1:WindowManager官方链接:
http://androiddoc.qiniudn.com/reference/android/view/WindowManager.html
附2:Android 悬浮窗效果
1.https://blog.****.net/guolin_blog/article/details/16919859
2.https://blog.****.net/guolin_blog/article/details/8689140