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 框架,這讓我很困惑,你能解釋一下上面這段代碼的部分嗎,BuildContext是什么 ,MaterialApp(它是建構式還是類,?),以及它是引數,我嘗試從他們的檔案中學習,但他們對我來說太困惑了,我從這個類中撰寫的這段代碼中知道的是,build 方法回傳一個小部件,而 scaffold 是某種預定義的代碼,有助于使用布局,像 bootstrap 之類的東西有助于 CSS
uj5u.com熱心網友回復:
讓我們一次一行地看它。
class MyApp extends StatelessWidget {
在這一行中,您宣告了一個 MyApp 類,它擴展了無狀態小部件類。這意味著 MyApp 將具有無狀態小部件的功能以及您向其中添加的代碼位。
Widget build(BuildContext context) {
您在這里定義了構建方法。一個 Widget 需要一個構建方法,這就是 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小部件。
),
);
}
}
uj5u.com熱心網友回復:
很多時候,開始學習新的語言和框架時,我們會遇到無法回答的問題。這可以。但不好的是不閱讀檔案。Flutter 有非常好的檔案,通過聯系她,您可以非常快速地回答您的所有問題。從這個開始,祝你好運。
https://docs.flutter.dev/get-started/codelab
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401082.html
下一篇:如何遍歷每個專案并在螢屏上呈現?
