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

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

在学习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.xdnf.cn/news/9370.html

相关文章:

  • 解码 Skate:打造链间可组合应用栈,构建跨越虚拟机的无状态未来
  • 使用 Selenium 进行自动化测试:入门指南
  • sl4j+log4j日志框架
  • 苍穹外卖 09 WebSocket来单提醒客户催单营业额统计
  • 【C++】string类的使用(万字详解)
  • ZYNQ-PS与PL端BRAM数据交互
  • Tesseract OCR 安装与中文+英文识别实现
  • RK3568DAYU开发板-平台驱动开发:I2C驱动(原理、源码、案例分析)
  • 中山大学无人机具身导航新突破!FlightGPT:迈向通用性和可解释性的无人机视觉语言导航
  • 概念流水账:PHY、PCS、PRBS
  • Vue 项目中 Sass 与 Less 的对比
  • 社区造数服务接入MCP|得物技术
  • 中间件redis 功能篇 过期淘汰策略和内存淘汰策略 力扣例题实现LRU
  • UE5 编辑器工具
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 按钮大小设置的小技巧
  • WHAT - 学习 WebSocket 实时 Web 开发
  • SQL中的锁机制
  • LabVIEW 中不同 VI 间图像传递方法解析
  • 数据结构-排序(1)
  • 基于seal密码库的格加密算法的原理、实现与应用
  • 6个月Python学习计划 Day 7 - 复盘 + 测试日
  • 压缩包方式在Linux和Windows下安装mongodb
  • zynq7020 shm共享内存和OCM
  • Rust 和 Python 如何混合使用
  • 面试题——计算机网络:HTTP和HTTPS的区别?
  • MySQL问题:MVCC是什么?
  • 从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理
  • java 递归地复制文件夹及其所有子文件夹和文件
  • LeetCode-栈-每日温度
  • 《Discuz! X3.5开发从入门到生态共建》第1章 Discuz! 的前世今生-优雅草卓伊凡