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';
 //为了使用MaterialApp
 main(){
     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_app
 flutter:
   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(){  //返回类型是 Widget
   return Center(
     child: Text("1233213ab",style: TextStyle(fontSize: 100),),
   );
 }//这段代码运行时,Text 的样式没有被 const 修饰符修饰,意味着每次构建 Text 时,都会创建一个新的 TextStyle 实例。
 ​
 -------------------------------------------------------
 ​
 // 复习之前语法里面学习的const 嵌套问题,最外层用了const,
 // 那么里面就不用加,如果里面有单独的不是const的,那么最外层不能是const
 main(){
   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: true
         title:  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 小部件将它的子小部件居中显示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/977602.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

本地部署AI模型 --- DeepSeek(二)---更新中

目录 FAQ 1.Failed to load the model Exit code: 18446744072635812000 FAQ 1.Failed to load the model Exit code: 18446744072635812000 问题描述: 🥲 Failed to load the model Error loading model. (Exit code: 18446744072635812000). Unkn…

FastAPI系列:Ubuntu部署FastAPI项目实战

这篇文章提供了在Ubuntu上部署FastAPI应用程序的详细指南。首先,读者将学习如何创建项目目录并设置Python虚拟环境,接着安装FastAPI、Uvicorn和Gunicorn等必要依赖。随后,文章指导用户编写基本的FastAPI应用程序代码,并使用Gunico…

【ECMAScript6】

【ECMAScript6】 01. ES6介绍02. let和const命令03. 模板字符串04. 函数之默认值、剩余参数05. 函数之扩展运算符、箭头函数06. 箭头函数this指向和注意事项07. 解构赋值08. 扩展的对象的功能(简写)09. Symbol类型10. Set集合数据类型11. Map数据类型12.…

基于 sklearn 的均值偏移聚类算法的应用

基于 sklearn 的均值偏移聚类算法的应用 在机器学习和数据挖掘中,聚类算法是一类非常重要的无监督学习方法。它的目的是将数据集中的数据点划分为若干个类,使得同一类的样本点彼此相似,而不同类的样本点相互之间差异较大。均值偏移聚类&…

浅谈HTTP及HTTPS协议

1.什么是HTTP? HTTP全称是超文本传输协议,是一种基于TCP协议的应用非常广泛的应用层协议。 1.1常见应用场景 一.浏览器与服务器之间的交互。 二.手机和服务器之间通信。 三。多个服务器之间的通信。 2.HTTP请求详解 2.1请求报文格式 我们首先看一下…

故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断

故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断 目录 故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断分类效果基本介绍模型描述DBO-BP-Bagging蜣螂算法优化多特征分类预测一、引言1.1、研究背景和意义1.2、研究现状1.3、研究目的与方法 二…

使用Open WebUI下载的模型文件(Model)默认存放在哪里?

🏡作者主页:点击! 🤖Ollama部署LLM专栏:点击! ⏰️创作时间:2025年2月21日21点21分 🀄️文章质量:95分 文章目录 使用CMD安装存放位置 默认存放路径 Open WebUI下…

第48天:Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

#知识点 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、Log4j 一个基于Java的日志记录工具,当前被广泛应用于业务系统开发,开发者可以利用该工…

计算机毕业设计SpringBoot+Vue.js中小型医院网站(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间

在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration,这个对象里面有compareDate字段,刚好表格查询的对象也是FakeRegistration,所以表格展示的时间就是刚才…

ARM Cortex-M处理器中的MSP和PSP

在ARM Cortex-M系列处理器中,MSP(主堆栈指针)和PSP(进程堆栈指针)是两种不同的堆栈指针,主要用于实现堆栈隔离和提升系统可靠性。以下是它们的核心区别和应用场景: 1. 基本定义 MSP(…

STM32——HAL库开发笔记24(定时器5—超声波测距)(参考来源:b站铁头山羊)

一、原理 本次实验采用HC-SR04超声波传感器,结构及功能如下图 超声波传感器可以用来测距。距离 声速(340m/s) *传播时间 / 2。 这个传感器有四个引脚,其中VCC接电源正极,GND接电源负极 , Trig : 用来启动测量 &…

LCC并行光模块、PLCC并行光模块和POB并行光模块的区别

一、封装结构与材料差异 PLCC(Plastic Leaded Chip Carrier) 封装材料:采用塑料材质,引脚数量较多(20-84个),引脚分布在四周12散热设计:通常通过PCB基板嵌装铜散热片提升散热性能8…

WIFI的SSID超长,隐藏,重复 (2.4G和5G差异)

目录 1、2.4G和5G的频率范围‌ 2、2.4G和5G的差异‌: 3、隐藏ssid显示为\x00 4、 重复的ssid名称 扩展 前言 最近处理wifi设备时发现,小小一个ssid就有超多的问题。 不是中文转义就是超长,现在还发现空字符的,原来时对方路由隐藏了…

FS800DTU联动OneNET平台数据可视化View

目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件环境 2.3 硬件连接 3 注册OneNET云平台并建立物模型 3.1 参数获取 3.2 连接OneNET 3.3上报数据 4 数据可视化View 4.1 用户信息获取 4.2 启用数据可视化View 4.3 创建项目 4.4 编辑项目 4.5 新增数据源 4.6 数据过滤器配置 4.6 项…

Linux时间日期类指令

1、data指令 基本语法: date : 显示当前时间date %Y : 显示当前年份date %m : 显示当前月份date %d : 显示当前哪一天date “%Y-%m-%d %H:%M:%S" : 显示年月日时分秒date -s 字符串时间 : 设置系统时…

Elasticsearch:使用经过训练的 ML 模型理解稀疏向量嵌入

作者:来自 Elastic Dai Sugimori 了解稀疏向量嵌入,理解它们的作用/含义,以及如何使用它们实现语义搜索。 Elasticsearch 提供语义搜索功能,允许用户使用自然语言进行查询并检索相关信息。为此,目标文档和查询必须首先…

MagicArticulate: 超48K海量数据革新3D动画,自回归Transformer驱动关节智能生成!

论文链接:https://arxiv.org/pdf/2502.12135 Git链接:https://chaoyuesong.github.io/MagicArticulate/ 亮点直击 首个大规模关节化基准数据集,包含超过33,000个具有高质量关节标注的模型; 一种新颖的两阶段框架,有效…

【洛谷入门赛】B4019 皆与生物有缘

题意 两个老师会对你进行打分,我们要做的是把两个老师每题给的分全加起来,然后 2 \div 2 2 再向上取整,输出这个值即可。 思路 首先,我们要输入。 根据我们总结的题意,我们还需要把所有分数加起来。 因为我们尽…

如何选择更安全的无人自助管理私人影院物联网框架?

对于无人自助管理的私人电影院来说,安全是至关重要的,在物联网层面上,更要确保其相关安全措施,才能更好地安全运转。选择更安全的无人自助管理私人影院物联网框架时,可以从以下几个关键方面进行评估: 1. 安…