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

002简单MaterialApp主题和Scaffold脚手架

002最简单的MaterialApp主题和Scaffold脚手架使用导航栏_哔哩哔哩_bilibilihttps://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参数 嵌套 文本框Text​main(){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 小部件作为 Centerchild,表示将文本 "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 通过参数来控制页面的不同部分,主要包括 appBarbodyfloatingActionButton 等。

  • appBar:

    • appBarScaffold 中的一个参数,用于创建页面顶部的导航栏。我们使用 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中互相持有对方作为自己的属性,且在构造时就需要传入&#xff1a…...

检查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 集群如何使用,如何正确使用&#xf…...

面试题——简述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网关地址&#xf…...

监听其他音频播放时暂停正在播放的音频

要实现当有其他音频播放时暂停当前音频,你可以使用全局事件总线或 Vuex 来管理音频播放状态。这里我将展示如何使用一个简单的事件总线来实现这个功能。 首先,你需要创建一个事件总线。你可以在项目的一个公共文件中创建它,例如 eventBus.js…...

智能合约开发框架

智能合约开发框架:加速区块链开发的利器 随着区块链技术的普及,智能合约已成为去中心化应用(DApp)的核心组件。智能合约开发涉及复杂的逻辑、安全性要求和底层技术细节,直接使用原生编程语言(如Solidity&a…...

告别手动复制:USBCopyer让你在Windows上实现U盘文件自动备份

告别手动复制:USBCopyer让你在Windows上实现U盘文件自动备份 【免费下载链接】USBCopyer 😉 用于在插上U盘后自动按需复制该U盘的文件。”备份&偷U盘文件的神器”(写作USBCopyer,读作USBCopier) 项目地址: https…...

Transformer在图像分割中的逆袭:Mask2Former原理解析与Mask R-CNN对比

Transformer在图像分割中的逆袭:Mask2Former原理解析与Mask R-CNN对比 当计算机视觉领域还在为卷积神经网络(CNN)的局部感受野局限而苦恼时,Transformer架构正以摧枯拉朽之势重塑图像分割的格局。2022年横空出世的Mask2Former&am…...

Windows触控板三指拖拽终极指南:像Mac一样流畅操作

Windows触控板三指拖拽终极指南:像Mac一样流畅操作 【免费下载链接】ThreeFingersDragOnWindows Enables macOS-style three-finger dragging functionality on Windows Precision touchpads. 项目地址: https://gitcode.com/gh_mirrors/th/ThreeFingersDragOnWin…...

如何用genshin-wish-export快速导出原神抽卡记录:完整免费指南

如何用genshin-wish-export快速导出原神抽卡记录:完整免费指南 【免费下载链接】genshin-wish-export Easily export the Genshin Impact wish record. 项目地址: https://gitcode.com/GitHub_Trending/ge/genshin-wish-export 你是否曾为原神抽卡记录无法导…...

Speech Seaco Paraformer优化指南:如何提升中文语音识别准确率

Speech Seaco Paraformer优化指南:如何提升中文语音识别准确率 1. 引言:为什么需要优化语音识别准确率 语音识别技术在日常工作和生活中的应用越来越广泛,从会议记录到客服对话,从语音输入到内容创作,准确率直接决定…...

ComfyUI极速上手指南:零基础搭建高效AI绘图工作流

1. ComfyUI初印象:为什么选择这个AI绘图神器 第一次接触ComfyUI时,我完全被它独特的节点式操作方式吸引了。与常见的WebUI不同,ComfyUI把整个AI绘图过程拆解成一个个可视化模块,就像搭积木一样自由组合。这种设计理念让创作过程变…...

Cosmos-Reason1-7B在复杂网络协议分析中的应用场景

Cosmos-Reason1-7B在复杂网络协议分析中的应用场景 网络工程师的日常,常常伴随着海量的数据包和复杂的协议交互。面对一个动辄几个G的抓包文件,如何快速定位一次握手失败的原因,或者解释某个应用为何响应缓慢,往往需要深厚的协议…...

org.openpnp.vision.pipeline.stages.DetectLinesHough

文章目录org.openpnp.vision.pipeline.stages.DetectLinesHough功能参数例子测试图像generate_line_test_image.pycv-pipeline效果ENDorg.openpnp.vision.pipeline.stages.DetectLinesHough 功能 在图像中检测直线段 在DetectLinesHough之前,需要执行DetectEdgesC…...

ollama部署本地大模型|granite-4.0-h-350m在新闻聚合平台摘要生成落地

ollama部署本地大模型|granite-4.0-h-350m在新闻聚合平台摘要生成落地 1. 引言:当新闻摘要遇上轻量级AI 每天,新闻聚合平台的后台都会涌入成千上万条信息。编辑团队需要快速浏览、提炼、生成摘要,这不仅是体力活,更是…...