扑动hello世界程序充分说明



说明每一行代码 这是一个正常的hello world代码。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

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

//这个小部件是应用程序的根目录。@override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: const MyHomePage(), ); } }

class MyHomePage extends StatefulWidget { const MyHomePage({ Key? key }) : super(key: key);

@override State<MyHomePage> createState() => _MyHomePageState(); }

class _MyHomePageState extends State<MyHomePage> { @override Widget build(BuildContext context) { return Container( child: Text("Hello World"), ); } }

import 'package:flutter/material.dart';

这一行用来导入你将要在应用中使用的各种对象,比如按钮。换句话说,想想固定一个电气设备,第一步是准备所需的工具,如螺丝刀或锤子。所以这一行基本上是用来带来所有需要的对象,你会用来创建一个应用程序。

void main() => runApp(MyApp());

这是应用程序的起点,当你按下播放按钮在你的调试器或在你的手机上运行应用程序,编译器会试图找到这条线主要()和阅读如何处理这个程序,在这种情况下,主要功能告诉编译器运行应用程序(runApp) (MyApp),换句话说MyApp类是用户看到的第一件事,虽然主要是首先编译器查找。

class MyApp extends StatelessWidget { 

这是我们之前调用的MyApp, MyApp是什么?MyApp是一个类,或者我们可以作为蓝图调用它会包含我们需要在app中显示的东西,这个类是什么?这是一个StatlessWidget。换句话说,MyApp类是StatlessWidget(在material.dart中定义)的副本。

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

这是我们类的初始化器,在这里它告诉当它被调用时它接受什么,这是一个可选的行,你不必指定类的属性键。花括号表示可选参数。这一行可以删除而不产生任何影响。

@override Widget build(BuildContext context) 
{ 
return MaterialApp( 
title: 'Flutter Demo', 
theme: ThemeData( primarySwatch: Colors.blue, ), 
home: const MyHomePage(), );
} 
}

就像我们之前说的,我们是从material中复制一个预定义的类。部件,它是"无状态部件"。它有自己的build功能,它会显示保存在那里的东西,但这里需要显示我们的app,因此我们重写那个功能来自定义它。这里我们告诉构建一个materialApp,它有以下参数:标题、主题和主页。素材应用程序是你必须在主类中识别的第一件事,因为它负责在屏幕上看到什么并管理应用程序。

  • Title:设备任务管理器中显示的标题。
  • 主题:它告诉应用程序有一个蓝色的原色。
  • home:主页。
class MyHomePage extends StatefulWidget {
const MyHomePage({ Key? key }) : super(key: key);
@override State<MyHomePage> createState() => _MyHomePageState(); }
class _MyHomePageState extends State<MyHomePage> {
@override Widget build(BuildContext context) { 
return Container(
child: Text("Hello World"),
);
} }

与前面的类相同,除了它是一个statfulwidget,这意味着这个屏幕可以改变,换句话说,它可以处理变量,同时Statless Widget不能处理变量,它只构建一次,这里我们使用我们材料中的容器。这个容器有一个子文件Text.

这是代码的总结,你可以看看AppBrewery的Flutter Course,它详细解释了这一点。

祝你一路顺风。

最新更新