【问题标题】:I have confusion about Dart code in Flutter Framework我对 Flutter 框架中的 Dart 代码感到困惑
【发布时间】:2023-03-24 00:31:02
【问题描述】:
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('My First App'),
        ),
        body: Text('This is my default text'),
      ),
    );
  }
}

我最近开始学习 Flutter 框架,这让我很困惑,你能解释一下上面这段代码的部分吗,那是什么 BuildContextMaterialApp(是构造函数还是类,?), 它是参数,我尝试从他们的文档中学习,但它们对我来说太混乱了,我从这个类中编写的代码中所知道的是,build 方法返回一个小部件,而脚手架是某种预定义的代码有助于布局,类似 bootstrap 的东西有助于 CSS

【问题讨论】:

  • 我会推荐查看flutter.dev和一些谷歌搜索启动,一切都是第一次,耐心和专注,你可以在YouTube上找到很多好的视频。

标签: flutter dart oop


【解决方案1】:

让我们一次看一行。

class MyApp extends StatelessWidget {

在这一行中,您声明了一个 MyApp 类,它扩展了 Stateless 小部件类。这意味着 MyApp 将具有无状态小部件的功能以及您要添加到其中的代码。

  Widget build(BuildContext context) {

在这里定义构建方法。一个 Widget 需要一个 build 方法,这就是 Flutter 知道如何构建和显示它的方式。 build 方法接收一个 BuildContext 参数,该参数是小部件树中小部件位置的句柄。

    return MaterialApp(

build 方法返回一个 MaterialApp 小部件。实际上,MaterialApp() 就是 MaterialApp 小部件的构造函数。

      home: Scaffold(
        appBar: AppBar(
          title: Text('My First App'),
        ),
        body: Text('This is my default text'),

MaterialApp 的构造函数有一个 home 和一个 body 参数。在这里,您将 Scaffold 小部件传递给 Home 参数。 Scaffold 小部件构造函数 (Scaffold()) 有一个 appBar 参数,它接收一个小部件(在这种情况下,小部件是 AppBar)。而AppBar 构造函数有一个title 参数,它接收一个Text 小部件。并且 body 参数还接收一个Text 小部件。

      ),
    );
  }
}

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 2016-06-22
    • 1970-01-01
    • 2016-06-17
    • 2010-10-28
    • 2021-08-16
    • 1970-01-01
    • 2020-08-04
    • 2015-07-12
    相关资源
    最近更新 更多