基础
目录结构
assets 资源目录
pubspec.yaml 配置文件
lib 目录
common 一些工具类,如通用方法类、网络接口类、保存全局变量的静态类等
l10n 国际化相关的类都在此目录下
models Json文件对应的Dart Model类会在此目录下
states 保存APP中需要跨组件共享的状态类
routes 存放所有路由页面类
widgets APP内封装的一些Widget组件都在该目录下
命令
# 清理
flutter clean
# ios下运行 拔掉数据线也可以运行
flutter run --release
# 打包命令 并验证签名
flutter build apk --release
快捷键
IDE快捷键
stless 快速补全 无状态组件
stful 快速补全 有状态组件
Ctrl+Alt+L 格式化代码
Ctrl+Alt+O 删除未使用的import
入口
main.dart
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Welcome to Flutter',
home: Scaffold(
appBar: AppBar(
title: const Text('Welcome to Flutter'),
),
body: const Center(
child: Text('Hello World'),
),
),
);
}
}
pubspec.yaml
字体
flutter:
# 字体
fonts:
- family: XiaoWei // 定义的名字
fonts:
- asset: assets/fonts/ZCOOL_XiaoWei/ZCOOLXiaoWei-Regular.ttf
# 粗细
weight: 700
# 斜体 italic 或 normal
style: italic
资源文件
flutter:
assets:
- directory/
- directory/subdirectory/
AndroidManifest.xml
网络权限
<uses-permission android:name="android.permission.INTERNET" />
MediaQuery
获取设备的一些信息
// 获取窗口尺寸
final size = MediaQuery.of(context).size;