我不确定在使用底部navbar时如何构建页面。现在,我使用的是包含Scaffold
和BottomNavBar
MainScreen
MainScreen
小部件包含一个带有不同页面的列表。这是使用底部navbar的推荐方法吗?我知道我还可以使用导航器在屏幕之间导航,但是随后它为每个页面启动了一个不同的窗口,这不是您在使用bottomnavbar时所期望的。我现在实现它的方式工作正常,但是如何在其中一个屏幕中使用FloatingActionButton
?您总是需要脚手架吗?
List<Widget> screens = [
Screen1(),
Screen2(),
Screen3()
];
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(Constants.APP_NAME),
),
body: screens[_currentIndex],
bottomNavigationBar: CustomBottomNav(onBottomNavPressed: onBottomNavPressed,),
);
}
根据官方的BottomNavigationBar
类文档,将小部件作为<Widget>[ ]
提供是提供小部件的推荐方法。对于您的问题的第二部分,是的。FloatingActionButton
只能包含在Scaffold
中,因此您应该在需要使用FloatingActionButton
的小部件中添加一个。