Flutter学习笔记(三) && 第一个flutter

一、创建Flutter应用模板

// 1、导入了 Material UI 组件库
import 'package:flutter/material.dart';

// 2、应用入口
// main 函数中调用了runApp 方法,
//它的功能是启动Flutter应用。
//runApp它接受一个 Widget参数,
//在本示例中它是一个MyApp对象,
//MyApp()是 Flutter 应用的根组件
void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // MaterialApp 是Material 库中提供的 Flutter APP 框架,
      //通过它可以设置应用的名称、主题、语言、首页及路由列表等。MaterialApp也是一个 widget。
      theme: ThemeData(
        // 主题颜色
        primarySwatch: Colors.red,
      ),
      debugShowCheckedModeBanner: false, // 去除右上角Debug
      home: const MyHomePage(), // 应用首页路由
    );
  }
}

// 无状态组件
// 快捷ssw
class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      // Scaffold 是 Material 库中提供的页面脚手架,
      //它提供了默认的导航栏、标题和包含主屏幕 widget 树(后同“组件树”或“部件树”)的body属性
      //,组件树可以很复杂。本书后面示例中,路由默认都是通过Scaffold创建。
      appBar: AppBar(
        // 应用名称
        title: const Text("你好Flutter,我是appBar"),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: const [Text('我是页面body部分')],
        ),
      ),
    );
  }
}


二、有状态的组件(Stateful widget) 和无状态的组件(Stateless widget)有两点不同

1、Stateful widget 可以拥有状态,这些状态在 widget 生命周期中是可以变的,而 Stateless widget 是不可变的。

2、Stateful widget 至少由两个类组成:
一个StatefulWidget类。
一个 State类; StatefulWidget类本身是不变的,但是State类中持有的状态在 widget 生命周期中可能会发生变化。

《Flutter实战·第二版》- Preview

上一篇:jar文件配置windows启动服务


下一篇:Kubernetes部署Ingress