微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

《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变为灰色,包括图片资源。

交流

Github地址:https://github.com/781238222/flutter-do

170+组件详细用法http://laomengit.com

如果你对Flutter还有疑问或者技术方面的疑惑,欢迎加入Flutter交流群(微信:laomengit)。

同时也欢迎关注我的Flutter公众号【老孟程序员】,公众号首发Flutter的相关内容

Flutter生态建设离不开你我他,需要大家共同的努力,点赞也是其中的一种,如果文章帮助到了你,希望点个赞。

原文地址:https://www.cnblogs.com/mengqd/p/12675477.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐