Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件

目录

[1. 创建Flutter项目](#1. 创建Flutter项目)

[1.1使用Android Studio创建Flutter项目](#1.1使用Android Studio创建Flutter项目)

[1.2 使用命令行创建Flutter项目](#1.2 使用命令行创建Flutter项目)

[2. Flutter项目介绍](#2. Flutter项目介绍)

2.1所有代码都在lib目录下编写

[2.1 pubspec.yaml 依赖库/图片的引用 ​编辑](#2.1 pubspec.yaml 依赖库/图片的引用 编辑)

[3. 运行项目](#3. 运行项目)

[4. 编写mian.dart文件](#4. 编写mian.dart文件)

[4.1 使用MaterialApp 和 Scaffold两个组件装饰App](#4.1 使用MaterialApp 和 Scaffold两个组件装饰App)

[5. 代码提示插件](#5. 代码提示插件)


1. 创建Flutter项目

1.1使用Android Studio创建Flutter项目

1.2 使用命令行创建Flutter项目

复制代码
flutter create my_first_app

//进入到项目目录
cd my_first_app

//使用Visual Studio Code 打开
code .

2. Flutter项目介绍

2.1所有代码都在lib目录下编写

2.1 pubspec.yaml 依赖库/图片的引用

3. 运行项目

复制代码
flutter run

4. 编写mian.dart文件

runApp入口方法

4.1 使用MaterialApp 和 Scaffold两个组件装饰App

Eg:

复制代码
import 'package:flutter/material.dart';

main() {
  runApp(MaterialApp(
    home: Scaffold(
      appBar: AppBar(
        title: Text("你好Flutter"),
      ),
      body: Center(
        child: Text("你好Flutter",textDirection: TextDirection.ltr,style: TextStyle(
          fontSize: 15,
          color: Colors.yellow
        ),),
      ),
    ),
  ));
}

4.2 body里面业务代码太多后,进行抽离,抽离成一个组件

Eg:将Center抽离出来

复制代码
import 'package:flutter/material.dart';

main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("Home")),
        body: MyApp(),
      ),
    ),
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Text(
        "我是一个自定义组件",
        textDirection: TextDirection.ltr,
        style: TextStyle(fontSize: 20, color: Colors.yellow),
      ),
    );
  }
}

5. 代码提示插件

相关推荐
程序员Agions1 天前
程序员武学修炼手册(二):进阶篇——小有所成,从能跑就行到知其所以然
前端·程序员
小画家~1 天前
第四十六: channel 高级使用
java·前端·数据库
小贵子的博客1 天前
Ant Design Vue <a-table>
前端·javascript·vue.js·anti-design-vue
m0_502724951 天前
vue动态设置背景图片后显示异常
前端·css
console.log('npc')1 天前
vue2中子组件父组件的修改参数
开发语言·前端·javascript
奋斗吧程序媛1 天前
vue3 Study(1)
前端·javascript·vue.js
@Autowire1 天前
Layout-position
前端·css
QQ12958455041 天前
ThingsBoard - APP首页修改为手工选择组织
前端·javascript·物联网·iot
whyfail1 天前
前端数据存储新选择:IndexedDB与Dexie.js技术指南
前端·javascript·数据库
椰果uu1 天前
vue-virtual-scroller-虚拟滚动列表:渲染不定高度长列表+可控跳转
前端·javascript·typescript·vue