flutter入门
flutter入门
王永旺1.flutter基本命令
1 | # 1. 依赖管理 |
- 查看可用设备
1 | flutter devices |
1 | # 运行在所有设备 |
代码对齐快捷键
1 | # VSCode |
2. Flutter目录结构介绍
文件夹 | 作用 |
---|---|
.dart_tool | 缓存项目依赖项的信息。 存储构建和编译过程中生成的临时文件。 包含一些工具和包的配置文件,这些文件会在 flutter pub get 或 flutter build 等命令执行时自动生成。建议在 .gitignore 中排除它 |
.idea | 项目特定的配置文件:例如代码样式、检查设置等。 本地开发者特有的设置:如最近打开的文件、调试配置、窗口布局等。 建议在 .gitignore 中排除它 |
android | android平台相关代码 |
build | 构建时生成的临时目录,用于存放编译后的文件、资源等构建产物 建议在 .gitignore 中排除它 |
ios | ios平台相关代码 |
lib | flutter相关代码,我们编写的代码就在这个文件夹 |
linux | Linux平台相关的代码 |
macos | macos平台相关的代码 |
test | 用于存放测试代码 |
web | web相关的代码 |
windows | windows相关的代码 |
.gitignore | git忽略文件 |
.metadata | 记录了一些Flutter SDK 版本信息和项目的构建配置信息 建议在 .gitignore 中排除它 |
analysis_options.yaml | 分析dart语法的文件,老项目升级成新项目有警告信息的话可以删掉 建议将其纳入版本控制系统 |
pubspec.lock | 锁定依赖版本:记录每个依赖的确切版本,确保在不同环境中安装的依赖版本一致,避免因依赖更新导致的意外问题。 版本管理:如果只根据 pubspec.yaml 安装依赖,Flutter 可能会安装最新符合要求的版本,而 pubspec.lock 则确保安装的版本固定不变。建议将其纳入版本控制系统 |
pubspec.yaml | 配置文件,一般存放一些第三方库的依赖 |
文件夹 | 作用 |
---|---|
.gradle | Gradle 构建缓存 建议在 .gitignore 中排除它 |
.idea | 项目特定的配置文件:例如代码样式、检查设置等。 本地开发者特有的设置:如最近打开的文件、调试配置、窗口布局等。 建议在 .gitignore 中排除它 |
app | Android 原生代码和资源文件 |
gradle | **gradle-wrapper.properties :指定了 Gradle 的版本,并配置了 Gradle Wrapper 的下载 URL。通过该文件,项目可以使用正确的 Gradle 版本,无需开发者手动安装。wrapper/ **:存放 Gradle Wrapper 相关的文件,确保在不同开发环境中使用相同的 Gradle 版本,以保证构建一致性。需要将其纳入版本控制系统,保证团队成员或其他开发环境在构建时自动使用正确的 Gradle 版本。 |
build.gradle | Android 项目构建配置的核心,控制了项目的依赖、构建行为和目标平台的兼容性。 |
gradle.properties | 用于设置一些 Gradle 构建系统的全局属性和配置选项,以便优化构建性能和控制构建过程。 建议将其纳入版本控制系统 |
gradlew | 版本控制:gradlew 允许你在项目中指定 Gradle 的版本。这样,开发者无需手动安装 Gradle,只需使用项目中定义的版本进行构建。环境一致性:通过使用 Gradle Wrapper,确保所有开发者在构建项目时使用相同的 Gradle 版本,避免因版本不一致引起的构建问题。 简单的构建命令:使用 ./gradlew (在 Unix 系统上)或 gradlew.bat (在 Windows 上)运行构建命令,可以直接在项目根目录中使用,而不需要全局安装 Gradle。建议将其纳入版本控制系统 |
gradlew.bat | 执行 Gradle 构建:通过 gradlew.bat 文件,Windows 用户可以运行 Gradle 构建命令,而无需安装 Gradle。版本控制:它确保用户在构建项目时使用与项目配置中指定的 Gradle 版本一致,避免因版本不一致而导致的构建问题。 通常在版本控制中,应将 gradlew.bat 与 gradlew 和 gradle/wrapper/ 文件夹一并提交,以确保跨平台的构建一致性。 |
local.properties | 主要用于存储与本地环境相关的配置信息,如 SDK 路径等 建议在 .gitignore 中排除它 |
settings.gradle | 定义项目结构:该文件用于定义和包含一个或多个模块。对于 Android 项目来说,通常会有一个主应用模块和一些其他的库模块或子模块。 配置项目名称:可以在该文件中设置项目的名称,这在构建过程中使用。 |
3. Flutter入口文件,入口方法
每一个flutter项目的lib目录里面都有一个main.dart这个文件就是flutter的入口文件
main.dart里面的
1 | void main(){ |
其中的main方法是dart的入口方法。runApp方法是flutter的入口方法。
MyApp是自定义的一个组件。
4. Flutter第一个Demo,Center组件的使用
4.1 Demo1
1 | import 'package:flutter/material.dart'; |
4.2 Demo2
给Text组件增加一些装饰
1 | import 'package:flutter/material.dart'; |
4.3 Demo3
1 | import 'package:flutter/material.dart'; |
4.4 Demo4
1 | import 'package:flutter/material.dart'; |
5. Flutter单独将内容抽离成一个组件
在Flutter中自定义组件其实就是一个类,这个类需要继承StatelessWidget/StatefulWidget
StatelessWidget 是无状态组件,状态不可变的widget
StatefulWidget 是有状态组件,持有的状态可能在widget生命周期改变
1 | import 'package:flutter/material.dart'; |
1 | import 'package:flutter/material.dart'; |
6. 用MaterialApp和Scaffold两个组件装饰App
6.1 MaterialApp
MaterialApp是一个方便的Widget,它封装了应用程序实现Material Design所需要的一些Widget。一般作为顶层widget使用。
常用的属性:
- home(主页)
- title(标题)
- color(颜色)
- theme(主题)
- routes(路由)
6.2 Scaffold
Scaffold是Material Design布局结构的基本实现。此类提供了用于显示drawer、snackbar和底部sheet的API。
Scaffold 有下面几个主要属性:
appBar - 显示在界面顶部的一个 AppBar。
body - 当前界面所显示的主要内容 Widget。
drawer - 抽屉菜单控件。
7. Container容器组件
名称 | 功能 |
---|---|
alignment | topCenter :顶部居中对齐 topLeft :顶部左对齐 topRight :顶部右对齐 center :水平垂直居中对齐centerLeft :垂直居中水平居左对齐 centerRight :垂直居中水平居右对齐 bottomCenter 底部居中对齐bottomLeft :底部居左对齐 bottomRight :底部居右对齐 |
decoration | decoration : BoxDecoration( color: Colors.blue, border: Border.all( color:Colors.red, width: 2.0), borderRadius:BorderRadius.circular((8)),// 圆角 ,boxShadow: [ BoxShadow( color: Colors.blue, offset: Offset(2.0, 2.0),blurRadius: 10.0, ) ], ) //LinearGradient 背景线性渐变 RadialGradient径向渐变gradient: LinearGradient( colors: [Colors.red, Colors.orange], ), |
评论
匿名评论隐私政策
TwikooWaline
✅ 你无需删除空行,直接评论以获取最佳展示效果