需求:使整个app都存在搞一个遮罩来模拟夜间模式(本项目编译版本低,不能通过配置res来解决)
起初使用window的的addView来实现
mWindowManager = (WindowManager) getApplication().getSystemService(
Context.WINDOW_SERVICE);
wmParams = new LayoutParams();
wmParams.type = LayoutParams.TYPE_TOAST;
wmParams.setTitle("Toast");
wmParams.format = PixelFormat.RGBA_8888;
wmParams.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL
| LayoutParams.FLAG_NOT_FOCUSABLE
| LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
wmParams.width = LayoutParams.MATCH_PARENT;
wmParams.height = LayoutParams.MATCH_PARENT;
mFloatLayout = new View(getApplicationContext());
if (mFloatLayout.getParent() == null) {
mWindowManager.addView(mFloatLayout, wmParams);
}
<