《Flutter 小技巧》一行禁用App,一行置灰App,致敬
为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世同胞的深切哀悼,国务院发布公告,决定2020年4月4日举行全国性哀悼活动。
在此期间,全国和驻外使领馆下半旗志哀,全国停止公共娱乐活动。4月4日10时起,全国人民默哀3分钟,汽车、火车、舰船鸣笛,防空警报鸣响。
这一天,我们看到几乎所有的网页、App一夜之间都变成了灰色,所有的游戏、直播停服,哪有什么岁月静好,只不过是有人在为你负重前行。
作为一个程序开发者,我们可以用程序员独有的方式表达对抗战在一线工作者的致敬 -禁用App,致灰App。希望这个功能永远不会有再开启的一天。
禁用App
禁用App设置如下:
@override
Widget build(BuildContext context) {
return IgnorePointer(
ignoring: _ignoring,
child: MaterialApp(
title: 'Flutter Fly',
theme: ThemeData(
primaryColor: Colors.white,
accentColor: Color(0xFF5DC782),
backgroundColor: Color(0xFFF2F2F2)),
routes: Routes.routes,
initialRoute: Routes.home_page,
debugShowCheckedModeBanner: false,
),
);
}
只需在组件的最外层包裹IgnorePointer
或者AbsorbPointer
组件,_ignoring
为变量,可以通过服务器下发,为true时,表示禁用。
置灰App
设置如下:
@override
Widget build(BuildContext context) {
return ColorFiltered(
colorFilter: ColorFilter.mode(Colors.grey, BlendMode.color),
child: MaterialApp(
title: 'Flutter Fly',
theme: ThemeData(
primaryColor: Colors.white,
accentColor: Color(0xFF5DC782),
backgroundColor: Color(0xFFF2F2F2)),
routes: Routes.routes,
initialRoute: Routes.home_page,
debugShowCheckedModeBanner: false,
),
);
}
在组件最外层包裹ColorFiltered
,使整个App变为灰色,包括图片资源。
<img src="https://img-blog.csdnimg.cn/20200404093130937.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbmdrczE5ODc=,size_16,color_FFFFFF,t_70" width="250em" /><img src="https://img-blog.csdnimg.cn/20200404093314510.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21lbmdrczE5ODc=,size_16,color_FFFFFF,t_70" width="250em"/>
交流
Github地址:https://github.com/781238222/flutter-do
170+组件详细用法:http://laomengit.com
如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。
同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容。
Flutter生态建设离不开你我他,需要大家共同的努力,点赞也是其中的一种,如果文章帮助到了你,希望点个赞。