一行代码实现界面全灰(android,web,flutter)

Android端实现

Paint paint = new Paint();
ColorMatrix cm = new ColorMatrix();
cm.setSaturation(0);
mPaint.setColorFilter(new ColorMatrixColorFilter(cm));
getWindow().getDecorView().setLayerType(View.LAYER_TYPE_HARDWARE, paint);

可以放到基类里边去统一调用!另外你想只对某个view进行操作的话把getWindow().getDecorView()换成对应的view即可

Web端实现

filter是滤镜的意思,filter:gray的意思就是说给页面加上一个灰度的滤镜,所以html里面的所有内容都会变成黑白的了。不过这个滤镜对于chrome和safari浏览器是无效的,所以下面会有一行-webkit-filter: grayscale(100%);这个样式是专属于使用webkit内核的浏览器的,意思和FILTER: gray;差不多,只是写法不同

Flutter端实现

runApp(
ColorFiltered(
colorFilter: ColorFilter.mode(Colors.white, BlendMode.color),
child: FlutterApp())));

使用ColorFiltered,在最外层套上即可

你可能感兴趣的:(一行代码实现界面全灰(android,web,flutter))