当前位置: 首页 > 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组件"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

相关文章:

GetMaterialApp组件的用法

文章目录 1. 知识回顾2. 使用方法2.1 源码分析2.2 常用属性 3. 示例代码4. 内容总结 我们在上一章回中介绍了"Get包简介"相关的内容&#xff0c;本章回中将介绍GetMaterialApp组件.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 知识回顾 我们在上一章回中已经…...

ubuntu安装mysql 8.0忘记root初始密码,如何重新修改密码

1、停止mysql服务 $ service mysql stop 2、修改my.cnf文件 # 修改my.cnf文件&#xff0c;在文件新增 skip-grant-tables&#xff0c;在启动mysql时不启动grant-tables&#xff0c;授权表 $ sudo vim /etc/mysql/my.cnf [mysqld] skip-grant-tables 3、启动mysql服务 servic…...

Vue3项目开发——新闻发布管理系统(七)

文章目录 九、新闻分类管理模块设计开发1、新闻分类主页面设计2、封装页面组件3、改造页面4、新闻分类表格渲染4.1封装API,获取新闻分类数据4.2 表格动态渲染4.3表格增加 loading 效果5、实现新闻分类添加和编辑功能5.1 点击显示弹层5.2封装弹层组件 CateEdit5.3 准备弹层表单…...

ICMP

目录 1. 帧格式2. ICMPv4消息类型(Type = 0,Code = 0)回送应答 /(Type = 8,Code = 0)回送请求(Type = 3)目标不可达(Type = 5,Code = 1)重定向(Type = 11)ICMP超时(Type = 12)参数3. ICMPv6消息类型回见TCP/IP 对ICMP协议作介绍 ICMP(Internet Control Messag…...

Unity-Transform类-旋转

角度度相关 相对世界坐标角度 print(this.transform.eulerAngles); 相对父对象角度 print(this.transform.localEulerAngles); 注意&#xff1a;设置角度和设置位置一样 不能单独设置xyz 要一起设置 如果我们希望改变的 角度 是面板上显示的内容 那是改…...

如何使用 Vue 3 的 Composition API

Vue 3 引入了 Composition API&#xff0c;它提供了一种更灵活的方式来组织和重用逻辑。与 Vue 2 的 Options API 相比&#xff0c;Composition API 允许你将组件的逻辑按功能组织到函数中&#xff0c;而不是将它们分散到组件选项对象中。以下是如何在 Vue 3 中使用 Compositio…...

Mamba环境配置教程【自用】

1. 新建一个Conda虚拟环境 conda create -n mamba python3.102. 进入该环境 conda activate mamba3. 安装torch&#xff08;建议2.3.1版本&#xff09;以及相应的 torchvison、torchaudio 直接进入pytorch离线包下载网址&#xff0c;在里面寻找对应的pytorch以及torchvison、…...

2021 年 6 月青少年软编等考 C 语言二级真题解析

目录 T1. 数字放大思路分析 T2. 统一文件名思路分析 T3. 内部元素之和思路分析 T4. 整数排序思路分析 T5. 计算好数思路分析 T1. 数字放大 给定一个整数序列以及放大倍数 x x x&#xff0c;将序列中每个整数放大 x x x 倍后输出。 时间限制&#xff1a;1 s 内存限制&#x…...

2024网络安全、应用软件系统开发决赛技术文件

用软件系统开发技术方案 一、竞赛项目 2024 年全国电子信息行业第二届职工技能竞赛四川省应用 软件系统开发选拔赛分理论比赛和实际操作两个部分。理论比赛 成绩占30%&#xff0c;实际操作成绩占70%。 二、理论比赛 1、理论比赛范围 ①计算机系统基础知识&#xff1a; …...

CSP-J初赛每日题目2(答案)

二进制数 00100100和 00010100 的和是( )。 A.00101000 B.01100111 C.01000100 D.00111000 正确答案&#xff1a; D \color{green}{正确答案&#xff1a; D} 正确答案&#xff1a;D 解析&#xff1a; \color{red}{解析&#xff1a;} 解析&#xff1a; 00100100 36 \color{r…...

为什么Node.js不适合CPU密集型应用?

Node.js不适合CPU密集型应用的原因主要基于其设计理念和核心特性&#xff0c;具体可以归纳为以下几点&#xff1a; 单线程模型 Node.js采用单线程模型来处理用户请求和异步I/O操作。虽然这种模型在处理高并发I/O密集型任务时非常高效&#xff0c;因为它避免了传统多线程模型中的…...

数模原理精解【12】

文章目录 广义线性模型多元回归中的 R 2 R^2 R2&#xff08;也称为决定系数&#xff09;一、定义二、性质三、计算四、例子五、例题 偏相关系数一、定义二、计算三、性质四、例子 多元回归相关定义性质假设检验定义计算性质检验方法例子和例题例子例题例子 参考文献 广义线性模…...

steamdeck执行exe文件

命令行安装&#xff1a; sudo pacman xxxx //"xxxx"为软件名 &#xff0c;或者搜索“arch linux 软件安装命令” 安装wine及wineZGUI 命令行输入&#xff1a; sudo pacman -S wine 后面需要输入密码&#xff0c;deck设置的用户密码即可&#xff08;输入无反应是正…...

三、集合原理-3.2、HashMap(下)

3.2、HashMap&#xff08;下&#xff09; 3.2.2、单线程下的HashMap的工作原理(底层逻辑)是什么&#xff1f; 答&#xff1a; HashMap的源码位于Java的标准库中&#xff0c;你可以在java.util包中找到它。 以下是HashMap的简化源码示例&#xff0c;用于说明其实现逻辑&#…...

【激活函数】Activation Function——在卷积神经网络中的激活函数是一个什么样的角色??

【激活函数】Activation Function——在卷积神经网络中的激活函数是一个什么样的角色&#xff1f;&#xff1f; Activation Function——在卷积神经网络中的激活函数是一个什么样的角色&#xff1f;&#xff1f; 文章目录 【激活函数】Activation Function——在卷积神经网络中…...

重生之我在Java世界------学单例设计模式

什么是单例设计模式&#xff1f; 单例模式是面向对象编程中最简单却又最常用的设计模式之一。它的核心思想是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。本文将深入探讨单例模式的原理、常见实现方法、优缺点&#xff0c;以及在使用过程中可能遇到的陷阱。 单…...

快速提升Python Pandas处理速度的秘诀

大家好&#xff0c;Python的Pandas库为数据处理和分析提供了丰富的功能&#xff0c;但当处理大规模数据时&#xff0c;性能问题往往成为瓶颈。本文将介绍一些在Pandas中进行性能优化的方法与技巧&#xff0c;帮助有效提升数据处理速度&#xff0c;优化代码运行效率。 1.数据类…...

在基于线程的环境中运行 MATLAB 函数

MATLAB 和其他工具箱中的数百个函数可以在基于线程的环境中运行。可以使用 backgroundPool 或 parpool("threads") 在基于线程的环境中运行代码。 ​要在后台运行函数&#xff0c;请使用 parfeval 和 backgroundPool。​ ​具体信息可以参考Choose Between Thread-B…...

黑神话悟空+云技术,游戏新体验!

近期&#xff0c;一款名为黑神话悟空的游戏因其独特的艺术风格和创新的技术实现在玩家中产生了不小的影响。 而云桌面技术作为一种新兴的解决方案&#xff0c;正在改变人们的游戏体验方式&#xff0c;使得高性能游戏可以在更多设备上流畅运行。 那么&#xff0c;黑神话悟空如…...

【Android 13源码分析】WindowContainer窗口层级-3-实例分析

在安卓源码的设计中&#xff0c;将将屏幕分为了37层&#xff0c;不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析&#xff0c;整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…...

国内专业的铣打机厂家哪家专业

在制造业蓬勃发展的今天&#xff0c;铣打机作为轴类零件加工的关键设备&#xff0c;其性能和质量直接影响着生产效率和产品质量。面对市场上众多的铣打机厂家&#xff0c;该如何选择一家专业可靠的呢&#xff1f;今天就为大家介绍一家在行业内颇具口碑的企业——无锡通亚数控智…...

【JupyterLab实战】构建跨平台AI算力监控仪表盘

1. 为什么需要跨平台AI算力监控&#xff1f; 在AI开发过程中&#xff0c;我们经常遇到这样的场景&#xff1a;模型训练到一半突然卡死&#xff0c;却不知道是GPU内存爆了还是CPU瓶颈&#xff1b;多卡并行时某张卡莫名其妙跑不满&#xff1b;昇腾芯片的温度报警频繁触发却找不到…...

从‘迷失’到‘秒达’:我用PyCharm的‘符号搜索’和‘调用链查看’重构了老项目

从‘迷失’到‘秒达’&#xff1a;我用PyCharm的‘符号搜索’和‘调用链查看’重构了老项目 接手一个缺乏文档的遗留代码库&#xff0c;就像被扔进一座没有地图的迷宫。上周我面对的就是这样一个Python项目——3万行代码&#xff0c;零文档&#xff0c;函数命名随意得像临时起意…...

TalkiePCM:嵌入式LPC语音合成库,纯C++轻量级PCM音频引擎

1. TalkiePCM&#xff1a;嵌入式平台上的轻量级LPC语音合成引擎TalkiePCM 是一个面向资源受限嵌入式系统的纯C语音合成库&#xff0c;其核心目标是在不依赖特定硬件外设&#xff08;如PWM、DAC或I2S控制器&#xff09;的前提下&#xff0c;以最小耦合方式生成标准PCM音频流。它…...

从Simulink模型到神经网络:一个完整的数据驱动建模与验证实践

1. 为什么需要从Simulink模型转向神经网络&#xff1f; 在控制系统工程领域&#xff0c;Simulink模型一直是建模和仿真的黄金标准。但最近几年&#xff0c;越来越多的工程师开始尝试用神经网络来替代传统模型。这背后有几个关键原因&#xff1a; 首先&#xff0c;传统物理模型在…...

基于MATLAB的用于分析弧齿锥齿轮啮合轨迹的程序已调通,可直接运行并输出齿轮啮合轨迹及传递误差

158.基于matlab的用于分析弧齿锥齿轮啮合轨迹的输出齿轮啮合轨迹及传递误差程序已调通&#xff0c;可直接运行 1. 程序概述 本程序包实现了一套完整的弧齿锥齿轮齿面接触分析&#xff08;TCA&#xff09; 系统&#xff0c;主要用于分析大轮凸面与小轮凹面的啮合特性。程序由刘…...

AI Token Platform - AI Token 中转计费平台

AI Token Platform - AI Token 中转计费平台 AI Token Platform 是一款企业级 AI Token 中转与计费平台&#xff0c;深度融合 多模型 AI 网关、Kill Bill 计费引擎 与 企业级会员管理 三大核心能力。平台以"统一 API 接入 灵活计费策略 企业级会员体系"为核心理念…...

从芯片设计到产线测试:深入浅出聊聊DFT中的SCAN链设计与JTAG标准(含IEEE 1149.1)

从芯片设计到产线测试&#xff1a;深入浅出聊聊DFT中的SCAN链设计与JTAG标准&#xff08;含IEEE 1149.1&#xff09; 在芯片设计领域&#xff0c;可测试性设计&#xff08;DFT&#xff09;早已从"锦上添花"变成了"不可或缺"的核心环节。想象一下&#xff0…...

Win10+VS2019环境下vcpkg安装全攻略:从Git克隆到环境变量配置

Win10VS2019环境下vcpkg高效配置指南&#xff1a;从零搭建C开发环境 在Windows平台进行C开发时&#xff0c;第三方库的管理一直是令人头疼的问题。传统的手动下载、配置包含路径和链接库的方式不仅效率低下&#xff0c;还容易引发版本冲突。而vcpkg作为微软推出的跨平台C库管理…...

STM32F4读写SD卡:填一填ST官方HAL库的坑

使用STM32读写SD卡在低功耗存储中的应用是比较常见的&#xff0c;但是网上大多数资料都是基于标准库或者基于寄存器的开发。随着嵌入式设备越来越复杂&#xff0c;使用HAL库能够大大降低开发者的学习成本&#xff0c;从而提高开发效率。近年来&#xff0c;ST官方主推以STM32Cub…...