当我想在向下滚动时自动隐藏底部导航并在向上滚动时显示底部导航时,我被卡住了。我已经搜索了如何实现自动隐藏,但主要问题来自页面视图,我无法将页面控制器和滚动控制器放在同一个小部件中。我也尝试使用另一个小部件将它包装起来并放置滚动控制器,但它变成了空白。实现这件事的最佳方法是什么?这是我使用的代码。
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
SafeArea(
child: PageView(
controller: pageController,
onPageChanged: (index) {
setState(() {
selectedPage = index;
});
},
children: [
Center(
child: HomePage(),
),
Center(
child: CategoryPage(),
),
Center(
child: EventPage(),
),
],
)),
Align(
alignment: Alignment.bottomCenter,
child: CustomBottomNavBar(
selectedIndex: selectedPage,
onTap: (index) {
setState(() {
selectedPage = index;
});
pageController.jumpToPage(selectedPage);
},
),
)
],
),
);
}