002 flutter基础 初始文件讲解(1)

news2025/6/4 9:21:06

在学习flutter的时候,要有“万物皆widget”的思想,这样有利于你的学习,话不多说,开始今天的学习

1.创建文件

进入trae后,按住ctrl+shift+P,输入Flutter:New Project,回车,即可得到flutter初始文件

左侧会有很多的文件夹,但是这里要注意的是,我们目前只需要注意lib文件夹里面的main.dart,这也是当前我们需要学习的地方

2.运行

当前的初始文件实际上是一个示例文件,在trae里打开终端,然后输入flutter run

那么在我这里,我选择1,最后的结果为:

 

这是一个简单的按下按钮,就会数字加一的程序

3.代码解释

由于主要的示例文件难度较大,因此我们先把main.dart里面的代码全部删除,从0开始,这样对大家的负担会稍微少些。

import "package:flutter/material.dart";

 这里导入了一个关键的模块,这个模块的功能是引入flutter框架,用于构建用户界面

import "package:flutter/material.dart";

void main(){
  runApp(MaterialApp());
}

这里是一个熟悉的dart语法,main函数。

runApp是一个方法,是flutter框架提供的一个函数,用于启动应用程序

而MaterialApp是一个widget,它提供了Material Design风格的界面,里面有很多widget,比如Scaffold,AppBar,Text,Button等等

import "package:flutter/material.dart";

void main(){
  runApp(MaterialApp(
    home:Scaffold(),
    debugShowCheckedModeBanner: false,
  ));  
}

这里我们加入了两个东西,一个是home,表示主页面,而Scaffold是一个widget,它提供了一个基本的Material Design布局,比如AppBar,Body,FloatingActionButton等等

至于debugShowCheckedModeBanner是什么,可以看下上面那个示例图片的右上角,有一个debug的图标,而把这个设置为false,就可以将图标删除

import "package:flutter/material.dart";

void main(){
  runApp(MaterialApp(
    home:Scaffold(
      appBar:AppBar(), 
      body:Center(),
  ),
    debugShowCheckedModeBanner: false,
  )
  );
}

这里我们在home里面加入了两个,一个是appBar,另一个是body,分别对应着顶部栏和主页面内部,AppBar是一个widget,它提供了一个Material Design风格的顶部导航栏,而Center是一个widget,它提供了一个居中的布局,里面有很多widget,比如Text,Button等等

import "package:flutter/material.dart";

void main(){
  runApp(MaterialApp(
    home:Scaffold(
      appBar:AppBar(title:Text("The World")), 
      body:Center(
        child:Text("Hello World"),
      ), 
  ),
    debugShowCheckedModeBanner: false,
  )
  );
}

这里,我们加入了两句话,对于标题,直接使用title,然后记得在输入前用Text包好,对于主页面文本,则要使用child。

现在,我们可以试试效果啦!

看上去似乎有点奇怪,原来是因为字太小了,而且颜色过于单调,那么,让我们进行一些小小的修改:

import "package:flutter/material.dart";

void main(){
  runApp(MaterialApp(
    home:Scaffold(
      appBar:AppBar(title:Text("The World")), 
      body:Center(
        child:Text("Hello World",
        textDirection:TextDirection.ltr, 
        style:TextStyle(
          fontSize:40.0,
          color:Colors.purple,
          fontWeight:FontWeight.bold,
        ),
        ),
      ), 
  ),
    debugShowCheckedModeBanner: false,
  )
  );
}

这里,我们对主页面文字进行了修改,可以看见,我们加入了textDirection,这表示着文本的方向,ltr是左往右,rtl是右往左,很好理解,毕竟:l,是left的首字母,r是right的首字母

在style里面,可以设置文本的各种风格,比如这里的fontSize就是40的大小,而color则是字的颜色,fontWidght则是字体的粗细,这里的bold指的是粗的意思,那么接下来我们再看看效果~

是不是比之前那张好多啦

那么今天就先到这啦,大家一定要多动手,这部分对于大部分人来说,不是看看就能看会的哦,加油加油!

祝大家天天开心!代码一遍就通!没有debug的烦恼!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Launcher3体系化之路

👋 欢迎来到Launcher 3 背景 车企对于桌面的排版布局好像没有手机那般复杂,但也有一定的需求。部分场景下,要考虑的上下文比手机要多一些,比如有如下的一些场景: 手车互联。HiCar,CarPlay,An…

用wireshark抓了个TCP通讯的包

昨儿个整理了下怎么用wireshark抓包,链接在这里:捋捋wireshark 今天打算抓个TCP通讯的包试试,整体来说比较有收获,给大家汇报一下。 首先就是如何搞到可以用来演示TCP通讯的客户端、服务端,问了下deepseek,…

VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破

在 VR/AR 设备逐渐走进大众生活的今天,显示效果却始终是制约其发展的一大痛点。纱窗效应、画面拖影、眩晕感…… 传统液晶技术的瓶颈让用户体验大打折扣。不过,随着铁电液晶技术的重大突破,这一局面有望得到彻底改变。 一、传统液晶技术瓶颈…

Python使用

Python学习,从安装,到简单应用 前言 Python作为胶水语言在web开发,数据分析,网络爬虫等方向有着广泛的应用 一、Python入门 相关基础语法直接使用相关测试代码 Python编译器版本使用3以后,安装参考其他教程&#xf…

分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类

分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类 目录 分类预测 | Matlab实现CNN-LSTM-Attention高光谱数据分类分类效果功能概述程序设计参考资料 分类效果 功能概述 代码功能 该MATLAB代码实现了一个结合CNN、LSTM和注意力机制的高光谱数据分类模型,核心…

【解决方案-RAGFlow】RAGFlow显示Task is queued、 Microsoft Visual C++ 14.0 or greater is required.

目录 一、长时间显示:Task is queued 二、GraphRAG消耗大量Token 三、error: Microsoft Visual C 14.0 or greater is required. Get it with “Microsoft C Build Tools“ 四、ModuleNotFoundError: No module named infinity.common; infinity is not a package 五…

爬虫到智能数据分析:Bright Data × Kimi 智能洞察亚马逊电商产品销售潜力

前言 电商数据分析在现代商业中具有重要的战略价值,通过对消费者行为、销售趋势、商品价格、库存等数据的深入分析,企业能够获得对市场动态的精准洞察,优化运营决策,预测市场趋势、优化广告投放、提升供应链效率,并通…

高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享

目录 高级前端工程师必备的 JS 设计模式入门教程,常用设计模式案例分享 一、什么是设计模式?为什么前端也要学? 1、设计模式是什么 2、设计模式的产出 二、设计模式在 JS 里的分类 三、常用设计模式实战讲解 1、单例模式(S…

2023年电赛C题——电感电容测量装置

一、赛题 二、题目分析——损耗角正切值 对于一个正常的正弦波信号,如果通过的是一个电阻或一条导线,那么它的电流信号和电压信号是一致的(有电压才有电流),没有相位差。 但是如果正弦波经过了一个电感或电容&#xf…

pycharm打印时不换行,方便对比观察

原来: 优化: import torch torch.set_printoptions(linewidth200) 优化结果:

因泰立科技:镭眸T51激光雷达,打造智能门控新生态

在高端门控行业,安全与效率是永恒的追求。如今,随着科技的飞速发展,激光雷达与TOF相机技术的融合,为门控系统带来了前所未有的智能感知能力,开启了精准守护的新时代。因泰立科技的镭眸T51激光雷达,作为这一…

Microsoft Fabric - 尝试一下Data Factory一些新的特性(2025年5月)

1.简单介绍 Microsoft Fabric是微软提供的一个数据管理和分析的统一平台,感觉最近的新特性也挺多的。 Data Factory是Microsoft Fabric的一个功能模块,也是一个cloud service。Data Factory可以和多种数据源进行连接,同时提供了data movemen…

【前端】javascript和Vue面试八股

面试暂时没有遇到过考这么深的,一般还是问一些生命周期和性能相关。 Q:什么情况下“ a 1 && a 2 && a 3 ”同时成立 A:对象的valueOf与toString方法:当一个对象与一个原始值(如数字)进…

WEB3——区块链留言板(留言上链),查看web3日志-入门项目推荐

区块链留言板(留言上链) 目标:构建一个用户可以“写入留言、读取历史留言”的 DApp。 内容: Solidity 编写留言合约,存储留言内容和发送者地址。 提供 API: GET /messages:获取留言列表 POST…

【配置vscode默认终端为git bash】

配置vscode默认终端为git bash 点击左下角小齿轮,点击设置,搜索terminal.integrated.profiles.windows,点击在setting.json中编辑 第一部分是当前的所有的终端,第二部分是配置默认的终端"terminal.integrated.defaultProfi…

Cypress + TypeScript + Vue3

🚀 从零构建 Cypress + TypeScript + Vue3 组件测试环境【详细实战教程】 组件测试是前端开发中不可忽视的一环,它能够帮助我们在开发阶段就发现 UI 与交互逻辑问题。本文将带你手把手搭建基于 Cypress + TypeScript + Vue3 的组件测试环境,包含完整目录结构、配置文件、组…

深入解析 IP 代理:原理、应用场景与优化策略

在当今数字化时代,网络通信的安全性与隐私保护成为人们日益关注的焦点,而 IP 代理作为网络技术领域的一个重要概念,正扮演着愈发关键的角色。本文将深入剖析 IP 代理的原理、广泛的应用场景以及如何对其进行优化,以期为读者提供有…

58、辣椒种植学习

辣椒(学名:Capsicum annuum)属于茄科辣椒属,是一种重要的蔬菜兼调味作物,具有较高的经济价值和营养价值。其果实富含维生素C、辣椒素等成分,既可鲜食,也可加工成干辣椒、辣椒粉、辣椒酱等产品&a…

【SpringBoot】零基础全面解析SpringBoot配置文件

本篇博客给大家带来的是SpringBoot配置文件的知识点, 有properties 配置文件 和 yml 配置文件, 目前主流的是yml,所以本文以 重点讲解 yml 配置文件. 🐎文章专栏: JavaEE进阶 👉gitte链接: 薯条不要番茄酱 🚀若有问题 评论区见 ❤ 欢迎大家点…

python:PyMOL 能处理 *.pdb 文件吗?

PyMOL 完全可以打开并处理 PDB(Protein Data Bank)文件,这是 PyMOL 最主要的功能之一。PDB 格式是结构生物学领域的标准文件格式,专门用于存储生物大分子(如蛋白质、核酸)的三维结构数据。 在 PyMOL 中打开…