当前位置: 首页 > news >正文

GetMaterialApp组件的用法

文章目录

  • 1. 知识回顾
  • 2. 使用方法
    • 2.1 源码分析
    • 2.2 常用属性
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"Get包简介"相关的内容,本章回中将介绍GetMaterialApp组件.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 知识回顾

我们在上一章回中已经介绍过GetMaterialApp组件,并且介绍了它的基本用法,不过这些用法都是基于项目或者页面来使用该组件,本章回中将介绍该组件的属性,通
过属性来控制该组件的功能。

2. 使用方法

2.1 源码分析

我们在使用GetMaterialApp组件时担心它比官方的MaterialApp组件性能低,分析源代码后发现,它本质上还是MaterialApp,只是把MaterialApp组件的一些
配置做了修改,这样方便开人员使用,因此不用担心性能等其它问题,而且这个在官方文档中也有相关的介绍。下面是从源代码中获取的部分代码,请大家参考:

///它包含了一些常用的keythis.navigatorKey,this.scaffoldMessengerKey,///对路由的配置this.home,Map<String, Widget Function(BuildContext)> this.routes =const <String, WidgetBuilder>{},this.initialRoute,this.onGenerateRoute,
///主题,国际化相关配置和MaterialApp一致theme,this.darkTheme,this.locale,

2.2 常用属性

和其它的组件类似GetMaterialApp组件提供相关的属性来控制自己,下面是一些常用的属性:

  • home属性:用来控制程序的主页;
  • initialRoute属性:用来控制的根路由;
  • getPages属性:用来存放命名路由的集合;
  • theme属性:用来控制程序的主题;
  • localizationsDelegates属性:用来控制程序支持的语言;
    上面的这些属性中Home属性不能与路由属性同时使用,否则会有冲突。大部分情况下使用的是路由相关的属性,因为这样可以对程序中的多个页面提供导航。该组件中还
    有其它的属性,大家可以自己去探索。总之,它的用法和MaterialApp组件的十分相似。

3. 示例代码

GetMaterialApp(// home: GetHomePage(),///配置好路由后可以使用命名路由,配置方法和Material方法相同initialRoute: '/',getPages: [GetPage(name: '/', page: () => const GetHomePage(),),GetPage(name: '/overlay', page: () => const ExOverlayEntry(),),GetPage(name: '/html', page: () => const ExHtmlView(),),],theme: ThemeData(///建议打开Material主题,否则页面风格太难看useMaterial3: true,),
);

上面的示例代码中演示了GetMaterialApp组件中常用属性的用法。代码中使用了三个页面,这些页面是我们项目中的页面,我们没有提供页面的实现代码,因为我们是
为了演示路由功能,大家把这三个页面换成自己创建的页面就可以。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

4. 内容总结

最后,我们对本章回中的内容做一个全面的总结:

  • GetMaterialApp组件基于MaterialApp组件实现,可以放心使用;
  • GetMaterialApp组件提供属性来控制自己,用法类似MaterialApp组件;
  • GetMaterialApp组件在项目中通常通过路由相关的属性来进行页面导航;
    看官们,与"GetMaterialApp组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
http://www.lryc.cn/news/440066.html

相关文章:

  • ubuntu安装mysql 8.0忘记root初始密码,如何重新修改密码
  • Vue3项目开发——新闻发布管理系统(七)
  • ICMP
  • Unity-Transform类-旋转
  • 如何使用 Vue 3 的 Composition API
  • Mamba环境配置教程【自用】
  • 2021 年 6 月青少年软编等考 C 语言二级真题解析
  • 2024网络安全、应用软件系统开发决赛技术文件
  • CSP-J初赛每日题目2(答案)
  • 为什么Node.js不适合CPU密集型应用?
  • 数模原理精解【12】
  • steamdeck执行exe文件
  • 三、集合原理-3.2、HashMap(下)
  • 【激活函数】Activation Function——在卷积神经网络中的激活函数是一个什么样的角色??
  • 重生之我在Java世界------学单例设计模式
  • 快速提升Python Pandas处理速度的秘诀
  • 在基于线程的环境中运行 MATLAB 函数
  • 黑神话悟空+云技术,游戏新体验!
  • 【Android 13源码分析】WindowContainer窗口层级-3-实例分析
  • Redis常用操作及springboot整合redis
  • 动态规划day34|背包理论基础(1)(2)、46.携带研究材料(纯粹的01背包)、416. 分割等和子集(01背包的应用)
  • pytorch优化器
  • 必备工具,AI生成证件照,再也不用麻烦他人,电子驾驶证等多种证件照一键生成
  • 深度解析 MintRich 独特的价格曲线机制玩法
  • 实时数仓3.0DWD层
  • 路径规划 | 基于A*算法的往返式全覆盖路径规划的改进算法(Matlab)
  • QT 串口上位机读卡显示
  • Chrome谷歌浏览器登录账号next无反应
  • Android相关线程基础
  • uniapp 如何自定义导航栏并自适应机型