002简单MaterialApp主题和Scaffold脚手架
002最简单的MaterialApp主题和Scaffold脚手架使用导航栏_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from=333.788.videopod.episodes&vd_source=68aea1c1d33b45ca3285a52d4ef7365f&p=1501.MaterialApp纯净的
/*MaterialApp 是主题,自带方向设置,所以他里面的包含的widget都不需要设置方向home 参数里面放一个 widget,用来显示,第一个例子放了一个文本框Text,并且没有写方向参数*/import 'package:flutter/material.dart';//为了使用MaterialAppmain(){runApp(MaterialApp(home:Text("abc",style: TextStyle(fontSize: 200),) ,//home这里可以放一个Widget,直接渲染到屏幕上,可以理解为画一个控件到屏幕上));}
runApp 会把你传入的Widget小组件显示在屏幕上
1.flutter中所有的页面显示元素都是Widget的子类
abstract class Widget Widget翻译过来是叫小部件,是一个抽象类.所有显示的文本框,图标,图片,主题,导航栏,等等能显示的这些控件都继承自Widget
为了后面学习空间少写方向,需要先学习MaterialApp主题,这样可以不用给Widget写方向,否则都要设置方向 MaterialApp 是主题,自带方向设置,所以他里面的包含的widget都不需要设置方向
在pubspec.yaml文件的flutter部分中有一个uses-material-design: true,为了使用预定义的Material图标集,需要修改yaml文件,同时要注意其中的缩进问题
//pubspec.yaml文件name: my_appflutter:uses-material-design: true
2.带widget嵌套的
第二个例子,为了演示 Widget的嵌套,这里演示 Center居中组件 里面 child参数 嵌套 文本框Text
//注意写函数返回类型,否则就变成dynamic 会报错
复习之前语法里面学习的const 嵌套问题,最外层用了const,那么里面就不用加,如果里面有单独的不是const的,那么最外层不能是const
import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';//第二个例子,为了演示 Widget的嵌套,这里演示 Center居中组件 里面 child参数 嵌套 文本框Textmain(){runApp(MaterialApp(home:fun1()//runApp() 启动了一个 MaterialApp,并将runApp将fun1() 的返回值作为 home 参数传递给它));}Widget fun1(){ //返回类型是 Widgetreturn Center(child: Text("1233213ab",style: TextStyle(fontSize: 100),),);}//这段代码运行时,Text 的样式没有被 const 修饰符修饰,意味着每次构建 Text 时,都会创建一个新的 TextStyle 实例。-------------------------------------------------------// 复习之前语法里面学习的const 嵌套问题,最外层用了const,// 那么里面就不用加,如果里面有单独的不是const的,那么最外层不能是constmain(){String str = "1233213ab";runApp(MaterialApp(home:Center(child: Text(str,style: const TextStyle(fontSize: 100),),)));}//由于 TextStyle 使用了 const 修饰符,Flutter 在构建时不会每次创建新的 TextStyle 实例,优化了性能。
-
Center小部件:-
Center是 Flutter 中用于将子元素居中的小部件。它会将传递给它的child小部件在父容器中居中显示。 -
在
fun1()函数中,Center小部件作为父容器,而Text小部件作为Center的child,表示将文本"1233213ab"居中显示。
-
-
Text小部件-
Text用于显示文本。在这里,Text显示的是字符串"1233213ab"。 -
style: TextStyle(fontSize: 100)设置了Text的样式,其中TextStyle用来指定字体的样式(在这里是设置字体大小为 100)。
Center是父小部件,Text是子小部件。Center的作用是将其子部件(在这里是Text)居中显示。因此,Text中的"1233213ab"将会显示在屏幕的中央,并且字体大小是 100。 -
3.Scaffold 脚手架使用导航栏
第3个例子为了MaterialApp主题里面带导航栏和背景 Scaffold参数appBar ,需要用AppBar()来创建,里面的leading(最左侧)和title(中间位置)可以用Widget,例如这里用的是一个文本框Text,和 一个图标Icon 注意使用 系统的图标要在 pubspec.yaml 文件里配置: uses-material-design: true
/*Scaffold 脚手架,第3个例子为了MaterialApp主题里面带导航栏和背景参数appBar ,需要用AppBar()来创建,里面的leading(最左侧)和title(中间位置)可以用Widget,例如这里用的是一个文本框Text,和 一个 图标Icon注意使用 系统的图标要在 pubspec.yaml 文件里配置: uses-material-design: true*/import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';main(){runApp(MaterialApp(home: Scaffold(//启动了一个 MaterialApp,并将 Scaffold 作为主页传递给它appBar: AppBar(// leading: Text("左侧"),leading: Icon(Icons.menu),// 注意使用 系统的图标要在 pubspec.yaml 文件里配置: uses-material-design: truetitle: Icon(Icons.add),// Text("导航栏标题"),),body:const Center(child: Text("内容123"))),));}
-
Scaffold:-
Scaffold是 Flutter 中的一个布局小部件,用于提供应用的基本结构(如导航栏、底部导航栏、内容区域等)。 -
Scaffold通过参数来控制页面的不同部分,主要包括appBar、body、floatingActionButton等。
-
-
appBar:-
appBar是Scaffold中的一个参数,用于创建页面顶部的导航栏。我们使用AppBar来设置导航栏的内容。
-
-
AppBar的常见参数包括:
-
leading: 用于在导航栏左侧显示内容,通常用来显示一个图标或按钮。这里使用了Icon(Icons.menu)来显示一个菜单图标。-
title: 用于设置导航栏的标题。在这里,title使用了Icon(Icons.add)来显示一个加号图标。
-
-
-
body:-
body参数指定页面的主要内容区域。在这里,body是一个Center小部件,里面嵌套了一个Text小部件,用来显示"内容123"字符串。 -
Center小部件将它的子小部件居中显示。
-
相关文章:
002简单MaterialApp主题和Scaffold脚手架
002最简单的MaterialApp主题和Scaffold脚手架使用导航栏_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1RZ421p7BL?spm_id_from333.788.videopod.episodes&vd_source68aea1c1d33b45ca3285a52d4ef7365f&p1501.MaterialApp纯净的 /*MaterialApp 是主题,自带方向设…...
jdk21下载、安装(Windows、Linux、macOS)
Windows 系统 1. 下载安装 访问 Oracle 官方 JDK 下载页面 或 OpenJDK 下载页面,根据自己的系统选择合适的 Windows 版本进行下载(通常选择 .msi 安装包)。 2. 配置环境变量 右键点击 “此电脑”,选择 “属性”。 在左侧导航栏…...
Baklib知识中台引领服务智能化
智能中枢系统架构解析 Baklib 知识中台的智能中枢系统采用分层解耦设计,通过数据接入层、知识处理层与服务输出层的三级架构实现全链路智能化管理。在数据接入层,系统支持多源异构数据的实时采集与标准化清洗,涵盖结构化数据(如客…...
Spring源码分析の循环依赖
文章目录 前言一、循环依赖问题二、循环依赖的解决三、整体流程分析 前言 常见的可能存在循环依赖的情况如下: 两个bean中互相持有对方作为自己的属性。 类似于: 两个bean中互相持有对方作为自己的属性,且在构造时就需要传入:…...
检查SSH安全配置-关于“MaxStartups参数”
官方文档介绍 在《检查SSH安全配置-sshd服务端未认证连接最大并发量配置》中我们简略地阐述了“MaxStartups参数”在SSH安全配置中的意义。但是,并未对该参数做详细说明。 为啥没有详细说明呢?因为俺也没弄明白! 我们先看一下sshd_config的…...
某查”平台请求头反爬技术解析与应对
一、请求头反爬技术概述 请求头(HTTP Header)是 HTTP 协议中用于在客户端和服务器之间传递信息的一部分。它包含了请求的来源、用户代理、内容类型等关键信息。许多网站通过检查请求头中的特定字段来判断请求是否来自合法的浏览器,从而防止爬…...
MOE结构解读和deepseek的MoE结构
不管dense还是MoE(Mixture of Experts)都是基于transformer的。 下面回顾下解码器块的主要架构: 注意力机制-层归一化&残差连接-FFN前馈神经网络-层归一化&残差连接。 dense模型是沿用了这个一架构,将post-norm换为pre-no…...
LLM+多智能体协作:基于CrewAI与DeepSeek的邮件自动化实践
文章目录 引言理解 Flows(工作流)与 Crews(协作组)一、环境准备与工具安装1.1 Python环境搭建1.2 创建并激活虚拟环境1.3 安装核心依赖库(crewai、litellm) 二、本地DeepSeek R1大模型部署2.1 Ollama框架安…...
基于C++“简单且有效”的“数据库连接池”
前言 数据库连接池在开发中应该是很常用的一个组件,他可以很好的节省连接数据库的时间开销;本文基使用C实现了一个简单的数据库连接池,代码量只有400行只有,但是压力测试效果很好;欢迎收藏 关注,本人将会…...
为什么要将PDF转换为CSV?CSV是Excel吗?
在企业和数据管理的日常工作中,PDF文件和CSV文件承担着各自的任务。PDF通常用于传输和展示静态的文档,而CSV因其简洁、易操作的特性,广泛应用于数据存储和交换。如果需要从PDF中提取、分析或处理数据,转换为CSV格式可能是一个高效…...
Redis 集群的三种模式:一主一从、一主多从和多主多从
本文记述了博主在学习 Redis 在大型项目下的使用方式,包括如何设置Redis主从节点,应对突发状况如何处理。在了解了Redis的集群搭建和相关的主从复制以及哨兵模式的知识以后,进而想要了解 Redis 集群如何使用,如何正确使用…...
面试题——简述Vue 3的服务器端渲染(SSR)是如何工作的?
面试题——简述Vue3的服务器端渲染(SSR)是如何工作的? 服务器端渲染(SSR)已经成为了一个热门话题。Vue 3,作为一款流行的前端框架,也提供了强大的SSR支持。那么,Vue 3的SSR究竟是如…...
2.25DFS和BFS刷题
洛谷P1101单词方阵:用sta存字符串,for找到‘y的位置,然后dfs对字符串用for进行一个一个的判断,不符合就return,下面再用for进行book标记,能执行下面的for说明上面没有return,所以说明找到&#…...
C语言基本知识------指针(4)
1. 回调函数是什么? 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。 void qsort(void base,//指针…...
【OMCI实践】ONT上线过程的omci消息(六)
引言 在前四篇文章中,主要介绍了ONT上线过程的OMCI交互的第一、二、三个阶段omci消息,本篇介绍第四个阶段,OLT下发配置到ONT。前三个阶段,每个厂商OLT和ONT都遵循相同标准,OMCI的交换过程大同小异。但第四个阶段&…...
C语言(13)------------>do-while循环
1.do-while循环的语法 我们知道C语言有三大结构,顺序、选择、循环。我们可以使用while循环、for循环、do-while循环实现循环结构。之前的博客中提及到了前两者的技术实现。可以参考: C语言(11)------------->while循…...
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票
腾讯SQL面试题解析:如何找出连续5天涨幅超过5%的股票 作者:某七年数据开发工程师 | 2025年02月23日 关键词:SQL窗口函数、连续问题、股票分析、腾讯面试题 一、问题背景与难点拆解 在股票量化分析场景中,"连续N天满足条件"是高频面试题类型。本题要求在单表stoc…...
HybridCLR+Adressable+Springboot热更
本文章会手把手教大家如何搭建HybridCLRAdressableSpringboot热更。 创作不易,动动发财的小手点个赞。 安装华佗 首先我们按照官网的快速上手指南搭建一个简易的项目: 快速上手 | HybridCLR 注意在热更的代码里添加程序集。把用到的工具放到程序集里…...
电脑连接示波器显示波形
通过网线连接示波器和电脑,将示波器波形显示在电脑上直接复制图片至报告中,以下是配置步骤。 一、设备 网线,Tektronix示波器,电脑 二、使用步骤 1.用网线连接电脑和示波器 2.电脑关掉WiFi,查看IPv4网关地址…...
监听其他音频播放时暂停正在播放的音频
要实现当有其他音频播放时暂停当前音频,你可以使用全局事件总线或 Vuex 来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。 首先,你需要创建一个事件总线。你可以在项目的一个公共文件中创建它,例如 eventBus.js…...
Landsat 8数据下载全攻略:地理空间数据云保姆级教程(含注册到下载避坑指南)
Landsat 8数据获取实战手册:从零开始掌握遥感数据下载核心技巧 第一次接触遥感数据分析时,最让人头疼的往往不是复杂的算法或专业软件操作,而是连基础数据都找不到下载入口。作为NASA陆地卫星计划的最新成员,Landsat 8以其30米分辨…...
智算中心建设新范式:GPT-6/Rubin架构+1.6T光模块+量子安全网关+AI安全沙箱,算力·效率·安全·成本的最优平衡
当AI训练进入十万卡集群时代,智算中心不再只是GPU的堆叠,而是一场从芯片、互连、安全到运行底座的系统性工程。引言2026年3月的GTC大会上,黄仁勋一句“AI竞赛已进入白热化,算力效率决定胜负”,将全球AI基础设施建设的战…...
从0.15mm Pitch到56GHz:手把手拆解1.6T光模块仿真的那些‘烧脑’细节
从0.15mm Pitch到56GHz:1.6T光模块仿真的核心挑战与实战策略 当224Gbps PAM4信号以56GHz基频在0.15mm间距的BGA焊盘间穿行时,传统设计经验几乎全部失效。这不是简单的速率提升,而是一场从材料物理到三维电磁场的全面技术革命。本文将带您深入…...
pkNX宝可梦ROM编辑器终极指南:三步实现Switch游戏自定义
pkNX宝可梦ROM编辑器终极指南:三步实现Switch游戏自定义 【免费下载链接】pkNX Pokmon (Nintendo Switch) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pkNX 你是否遇到过想要修改宝可梦游戏却无从下手的困境?想要…...
java接口:对象排序
当我们实例化了大量的学生对象,此时需要对学生对象进行排序,我们可以定义一个学生类型的数组,并将顺序存储进入数组中。我们知道Java有定义一个冒泡排序的方法sort(),我们能否直接通过该方法进行对学生对象…...
Redis 持久化文件优化与压缩方法
Redis持久化文件优化与压缩方法 Redis作为高性能的内存数据库,持久化机制是保障数据安全的关键。随着数据量增长,RDB和AOF文件可能占用大量磁盘空间,影响备份效率与恢复速度。如何优化与压缩这些文件成为运维人员关注的焦点。本文将从多个角…...
大模型六雄混战2026:豆包、千问、DeepSeek激战正酣,Gemini、GPT-5与Claude 4如何接招?
2026年的开年,大模型战场不仅没有降温,反而进入了“贴身肉搏”的新阶段。一边是豆包2.0、千问3.5、DeepSeek-V3.2等国內玩家密集出招,用“极致性价比”和“架构创新”重新定义游戏规则;另一边,GPT-5.2、Claude 4.5、Ge…...
C++ STL常用容器1——string容器
写在前面:⭐如果本篇博文对你有帮助,那就关注 点赞 收藏一下吧! 目录 1.string基本概念 2.string构造函数 3.string容器 4.string字符串拼接 5.string查找和替换 6.string字符串比较 7.string字符存取 8.string插入和删除 9.strin…...
像素史诗·智识终端软件测试面试题分析与用例设计生成
像素史诗智识终端软件测试面试题分析与用例设计生成 1. 测试工程师的痛点与解决方案 在软件测试工程师的日常工作中,面试准备和测试用例设计是两大核心挑战。很多测试工程师都遇到过这样的困境:面对五花八门的面试题不知如何系统准备,或者面…...
面试技巧提升:系统设计问题的高分回答框架
面试技巧提升:系统设计问题的高分回答框架 在技术面试中,系统设计问题往往是区分候选人的关键环节。无论是初级工程师还是资深架构师,能否清晰、系统地回答这类问题,直接决定了面试的成败。许多人在面对开放性的系统设计问题时容…...
