关于第一个问题,我有两个问题和“如果”。如标题所述,我知道最好在Flutter的App中安装一个MaterialApp并制作用于屏幕的Scaffold小部件。但是在App这样的情况下,出于学习目的,我一直遵循它,并且它写得非常好而且很干净。但对于整个应用程序,它使用“ TabBarView”作为default home。因此,如果我要添加另一个屏幕(例如“ LoginSreen”),该屏幕不属于“ TabBarView”,则该屏幕不会继承“ MaterialApp”小部件功能。因此,我必须为该屏幕单独添加一个“ MaterialApp”小部件。 因此,问题是,在这种情况下可以有两个“ MaterialApp”小部件可以吗? 如果是,这是否会影响屏幕之间共享的任何变量,例如“ SharedPreference”?或有什么影响? 如果在一个应用程序中有两个“ MaterialApp”窗口小部件是不好的行为,那么您如何摆脱“ NavScreen()并在屏幕上实现TabBarView,因为我已经尝试了很多方法并进行了研究许多开源项目(例如this)都以“ TabBarView”小部件作为项目的主体和开始。