Dart 脚手架和材料聚丙烯在颤振方面有什么区别?

Dart 脚手架和材料聚丙烯在颤振方面有什么区别?,dart,flutter,Dart,Flutter,我有两个屏幕,其中 首先:来自Firebase的数据列表 第二个:在该屏幕中添加数据,因此我想返回到第一个屏幕, 一切正常,只是我回去的时候有一个黑屏。 现在问题已经过去了,我已经搜索了它是如何工作的,但它仍然不清楚我对此的概念,有人能描述一下它是如何工作的吗 之前: return new MaterialApp( title: "AddEditNames ", home: new AddEditNameScreen(), ); 之后:当我将其替换为 return n

我有两个屏幕,其中
首先:来自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,
      ),
 );
返回新脚手架(
背景颜色:颜色。来自RGBO(30,30,30,1.0),
正文:新增AddEditNameScreen(),
appBar:新的appBar(
标高:0.0,
背景颜色:Colors.blueAccent,
行动:[
],
标题:新文本(
“增编姓名”,
样式:新文本样式(颜色:Colors.white),
),
标题:对,
),
);

MaterialApp
是一个小部件,它引入了许多小部件(
Navigator
主题
),这些小部件是构建材质设计应用程序所必需的

Scaffold
则允许您实现大多数应用程序都具有的材质标准应用程序小部件。例如
AppBar
BottomAppBar
FloatingActionButton
BottomSheet
Drawer
Snackbar

Scaffold
被设计为一个单独的顶层容器,用于存放一个MaterialApp,尽管没有必要嵌套
Scaffold


另外,请查看和的官方颤振文档。

MaterialApp
是应用程序的起点,它告诉颤振您将在应用程序中使用材料组件并遵循材料设计

Scaffold
MaterialApp
下使用,它提供了许多基本功能,如
AppBar
底部导航栏
抽屉
浮动操作按钮

这就是一个典型的应用程序的开头

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

Material应用程序是核心组件和预定义类。我们可以使用Material应用程序创建小部件,以便在颤振中设计应用程序。Material应用程序具有多个属性。其中一些是标题、家、主题、颜色、路线等


Scaffold也是另一个可以用来设计应用程序的类。它为我们提供了API,如快餐店、底部表单、应用程序栏、浮动操作栏等。Scaffold为我们提供了一个框架来实现应用程序的可视化布局结构。

当我将Navigator.of(mContext).pushNamed('/screen1')放入MaterialApp时,它无法正常工作,但当我将其放入Scaffold时,它可以正常工作,因此,我怀疑它是如何堆叠的?Imo“虽然没有必要嵌套脚手架,但是
脚手架
被设计成一个
材料应用程序
的单一顶层容器”听起来像
材料应用程序
通常只包括一个
脚手架。它有多个页面和一个
Navigator
不是这样。在我的颤振应用程序中,我在所有屏幕上都使用了MaterialApp。那么它会影响性能吗@CopsOnRoad@BalajiRamadoss整个应用程序应该只有一个
MaterialApp
,除非你打算做一些不正当的事情。如果MaterialApp已经告诉我们可以使用AppBar等材质组件,那么为什么要使用Scaffold呢?反之亦然。