flutter Staffold和MaterialApp在扑动方面有什么区别?

osh3o9ms  于 2022-12-30  发布在  Flutter
关注(0)|答案(3)|浏览(163)

我有两个屏幕

**第一个:**Firebase的数据列表
**第二个:**在该屏幕中添加数据,因此我想返回第一个屏幕,一切正常,只是当我返回时出现黑屏。现在问题消失了,我搜索了它是如何工作的,但它仍然不清楚我对此的概念,有人能描述它是如何工作的吗?
之前

return new MaterialApp(
      title: "AddEditNames ",
      home: new AddEditNameScreen(),
);

之后:当我将其替换为

return new Scaffold(
      backgroundColor: Color.fromRGBO(30, 30, 30, 1.0),
      body: new AddEditNameScreen(),
      appBar: new AppBar(
        elevation: 0.0,
        backgroundColor: Colors.blueAccent,
        actions: <Widget>[
        ],
        title: new Text(
          "AddEditNames",
          style: new TextStyle(color: Colors.white),
        ),
        centerTitle: true,
      ),
 );
olqngx59

olqngx591#

MaterialApp是应用的起点,它告诉Flutter您将使用Material组件并在应用中遵循Material设计。
ScaffoldMaterialApp下使用,它提供了许多基本功能,如AppBarBottomNavigationBarDrawerFloatingActionButton等。
这就是一个典型的应用程序是如何开始的。

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      appBar: AppBar(),
      body: YourWidget(),
    ),
  ));
}
2q5ifsrm

2q5ifsrm2#

MaterialApp是一个小部件,它引入了构建Material Design应用程序所需的多个小部件(NavigatorTheme)。
Scaffold可以让你实现大多数应用程序所拥有的材料标准应用程序小部件,如AppBarBottomAppBarFloatingActionButtonBottomSheetDrawerSnackbar
Scaffold被设计为MaterialApp的单个顶级容器,尽管没有必要嵌套Scaffold
还可以查看MaterialAppScaffold的官方Flutter文档。

ryhaxcpt

ryhaxcpt3#

Material应用是核心组件,也是一个预定义的类。我们可以使用Material应用创建小部件,以便在Flutter中设计应用。Material应用有几个属性。其中一些属性是title、home、theme、color、routes等。
Scaffold也是一个可以用来设计应用程序的类,它提供了小吃条、底表、应用条、浮动操作条等API,为实现应用程序的可视化布局结构提供了一个框架。

相关问题