在Flutter中嵌套脚手架是否正确?

问题描述

我的应用首页中有一个PageView,我想要:

  1. AppBar根据页面而变化
  2. BottomAppBar是固定的

我想象的两个解决方案是:

  1. 最困难的一个:拥有一个带有appBar,body和bottomNavigationBar的Scaffold;使用PageView的PageController为AppBar内容设置动画...
  2. 具有2个嵌套的Scaffold:主要的一个是body和bottomNavigationBar,另一个是每个PageView的页面中的一个,带有AppBar ...

所以我在想,它可以工作,但是在语法上嵌套Scaffold是否“正确”?

非常感谢!

解决方法

转到此处:https://api.flutter.dev/flutter/material/Scaffold-class.html

其中有一个名为“疑难解答”的部分,您将找到以下内容:

嵌套支架

脚手架被设计为单个顶部容器 MaterialApp,通常不需要嵌套支架。对于 选项卡式UI中的示例,其中bottomNavigationBar是TabBar, 主体是一个TabBarView,您可能很想制作每个选项卡栏 查看带有不同标题的AppBar的脚手架。会更好 向用于更新AppBar的TabController添加侦听器。

,

我是这样认为的。 支架与任何其他小部件imo一样。 它非常方便,因为它为您提供了一个应用程序栏,主体等。 我通常把它作为SafeArea小部件的一个子代,以便该应用程序考虑到现代智能手机上的缺口。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...