跳转至

基础

目录结构

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;