参考了:https://blog.youkuaiyun.com/i_lovefish/article/details/8050025
1、防止锁屏(保持屏幕常量)
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
2、设置全屏
WindowManager.LayoutParams.FLAG_FULLSCREEN
3、恢复window非全屏显示
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN
4、让该window所有东西都模糊
WindowManager.LayoutParams.FLAG_BLUR_BEHIND
5、让该window所有的东西都成暗淡
WindowManager.LayoutParams.FLAG_DIM_BEHIND
6、开启抖动
WindowManager.LayoutParams.FLAG_DITHER
7、开启当前Window的硬件加速
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
注:
该flag必须在设置你的Activity或Dialog的Content View之前进行设置,
而且如果你在mainfest文件中用android:hardwareAccelerated开启了该属性的话,那么你在程序中就不能再改变它。mainfest文件中android:hardwareAccelerated属性默认是开启的(“true”)。
8、Window占满整个手机屏幕,不留任何边界
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
9、设置Window可超出屏幕之外(这时部分内容在屏幕之外)
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS
10、当前Window不接受触摸屏事件
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
11、禁止当前Window获得焦点(此Window获取不到外部事件)
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
13、禁止截屏
WindowManager.LayoutParams.FLAG_SECURE
14、锁屏时显示当前Window
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
ps:设置方式主要有以下三种
1、通过Window的getAttributes()方法获取WindowManager.LayoutParams对象设置:
WindowManager.LayoutParams winParams = getWindow().getAttributes();
winParams.flags=winParams.flags|WindowManager.LayoutParams.FLAG_FULLSCREEN;
2、Window的addFlags(int flags)方法设置
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
3、、Window的setFlags(int flags, int mask)方法设置
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);