学自鸿洋 ,大神主页:http://blog.csdn.net/lmj623565791
我们可以直接给任何一个 View 去设置灰度化。
而且我们 Activity 可以拿到 decorView,也就是说我们直接在 decorView 上设置上述代码就可以了。
你可以在 BaseActivity 或者搞个ActivityLifecycleCallbacks,只要能拿到 DecorView 就行,加入如下代码
Paint paint = new Paint(); ColorMatrix cm = new ColorMatrix(); cm.setSaturation(0); paint.setColorFilter(new ColorMatrixColorFilter(cm)); activity.getWindow().getDecorView().setLayerType(View.LAYER_TYPE_HARDWARE, paint);