Paint paint = new Paint();
ColorMatrix matrix = new ColorMatrix();
//0为灰度效果
matrix.setSaturation(0);
paint.setColorFilter(new ColorMatrixColorFilter(matrix));
getWindow().getDecorView().setLayerType(View.LAYER_TYPE_HARDWARE, paint);
可在BaseActivity或者BaseFragment中初始化
但是特殊日期不好配置,在BaseActivity中通过网络进行状态修改不好实现,只能手动在代码中修改,大厂APP应该是通过系统深度定制实现该效果。