最全如何在 Flutter 中使用 Google 的 Material 3 设计?,2024年最新受益匪浅

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

theme: ThemeData(colorScheme: lightColorScheme, useMaterial3: true),
darkTheme: ThemeData(colorScheme: darkColorScheme, useMaterial3: true),

这是“MyApp”小部件的完整代码。

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(colorScheme: lightColorScheme, useMaterial3: true),
      darkTheme: ThemeData(colorScheme: darkColorScheme, useMaterial3: true),
      home: const MyHomePage(title: 'Dynamic Color Demo'),
    );
  }
}

现在,以调试模式连接您的 android 设备,然后运行以下命令。

flutter run

我们可以在我们的设备中看到结果。


在上图中,第一个截图没有 Material 3 设计,其余的都启用了 Material 3 设计和动态颜色。

现在,我们将使用该dynamic_color包。

使用dynamic_color包

该dynamic_color软件包由材料团队提供。而且,我们需要将 dynamic_color 包添加到我们的项目中才能使用它。

为此,我们将仅更改现有项目。现在,在您的 VSCode 终端中输入以下命令。

flutter pub add dynamic_color

它提供了DynamicColorBuilder提取幕后动态颜色的小部件,并为我们提供了浅色和深色配色方案。

在这里,两种配色方案都可以为空,这意味着如果平台不支持动态颜色,那么这些值将为空。而且,在这种情况下,将使用我们的默认配色方案,或者我们可以应用自定义配色方案。现在,让我们看看我们必须做出哪些改变。

这是修改后的MyApp小部件的完整代码。

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return DynamicColorBuilder(
      builder: (lightDynamic, darkDynamic) {
        return MaterialApp(
          title: 'Flutter Demo',
          theme: ThemeData(
            colorScheme: lightDynamic ?? lightColorScheme,
            useMaterial3: true,
          ),
          darkTheme: ThemeData(
            colorScheme: darkDynamic ?? darkColorScheme,
            useMaterial3: true,
          ),
          home: const MyHomePage(title: 'Dynamic Color Demo'),
        );
      },
    );
  }
}

在上面,lightDynamic和darkDynamic由DynamicColorBuilder而提供lightColorScheme和darkColorScheme存在于文件`color_schemes.g.dart 中,这两个将作为默认配色方案。

现在让我们构建我们的应用程序并查看结果。我们可以看到颜色是根据设备壁纸生成的。


恭喜🥳,我们已经成功学会了如何在我们的应用程序中启用 Material 3 设计和使用动态颜色。

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter Material3 是一种新的设计系统,用于构建现代、美观和功能强大的 Flutter 应用程序。它是从 Material Design 概念延伸而来,旨在提供更多样化的设计元素和组件,以满足不断发展的用户需求。 首先,Flutter Material3 引入了更多的主题样式和颜色选项,使开发人员可以更加轻松地自定义应用程序的外观和感觉。这意味着开发者可以根据自己的品牌和身份要求,灵活地选择颜色、字体和图标等元素,以使应用程序更加个性化和独特化。 其次,Flutter Material3 提供了更多的组件和布局选择,以应对不同屏幕尺寸和设备类型的需求。例如,新的卡片组件可以用于呈现信息,而底部导航栏可以用于快速导航。这些组件的引入增强了开发人员构建复杂和功能丰富的用户界面的能力。 另外,Flutter Material3 还引入了更多的动画和过渡效果,以提供流畅和生动的用户体验。这些动画可以应用于各种组件,例如按钮、菜单和对话框,从而增强了应用程序的交互性和视觉吸引力。 最后,Flutter Material3 还具有对可访问性和国际化的更好支持。开发者可以轻松地为其应用程序提供多语言支持,并根据不同用户的需要提供无障碍功能,使其应用程序能够在全球范围内更具包容性。 总而言之,Flutter Material3 是一个令人兴奋的发展,为 Flutter 开发人员提供了更多的设计选择和功能。它将帮助开发人员构建出色的应用程序,提供出色的用户体验,并满足不断变化的市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值