• 第四百七十七回



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

    在这里插入图片描述

    1. 知识回顾

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

    2. 使用方法

    2.1 源码分析

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

    ///它包含了一些常用的key
        this.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,
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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,
      ),
    );
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

    4. 内容总结

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

    • GetMaterialApp组件基于MaterialApp组件实现,可以放心使用;
    • GetMaterialApp组件提供属性来控制自己,用法类似MaterialApp组件;
    • GetMaterialApp组件在项目中通常通过路由相关的属性来进行页面导航;
      看官们,与"GetMaterialApp组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
  • 相关阅读:
    LeetCode·84.柱状图中最大的矩形·单调递增栈
    基于协同过滤算法的东北特产销售系统的设计
    java学习
    C#界面里的winform ContextMenuStrip属性
    swift UITextField 设置leftView不生效
    蓝桥杯备战刷题-滑动窗口
    Linux Kernel compile
    网络安全(黑客)自学
    RabbitMQ快速入门
    【前端面试题】【布局】【样式】
  • 原文地址:https://blog.csdn.net/talk_8/article/details/138172051