在点按底部导航栏上的项目时候,我希望可以动态的切换显示页面上的 AppBar,比如我想在点按 发现 的时候,显示 AppBar,但是在点按 添加 与 用户 的时候隐藏页面上的 AppBar。
先在 App 小部件的状态类里面,添加一个表示是否显示 AppBar 小部件的属性,类型是 bool,名字叫 showAppBar,默认让它等于 true。
然后找到点按底部导航栏事件处理,在这个 setState 里面,可以设置一下 showAppBar 的值,它的值可以就是判断 index 是不是等于 0 的结果。
点按 发现 这个项目的时候,index 的值就会是 0 ,这时就会把 showAppBar 设置成 true,点按其它的项目的时候,这个 showAppBar 就会是 false。
下面再处理一下 Scaffold 里的 appBar 参数的值,这里可以判断一下 showAppBar 这个属性的值,如果是 true,就显示这个 AppBar 小部件。
如果 showAppBar 的值是 false,就让 appBar 参数的值是 null。
保存一下文件,然后重新启动一下调试。
在模拟器上再试一下,点击 发现,会显示应用栏,再按一下 添加,这时 showAppBar 的值就会变成 false,所以应用栏就会隐藏起来。
同样当前项目是 用户 的时候,showAppBar 的值也会是 false,再切换到 发现 这个项目,这时 showAppBar 的值变成了 true, 这样就又会显示应用栏。