假设底部导航栏是指在Scaffold类中使用的BottomNavigationBar,而Snackbar是SnackBar class,我相信这很难实现.这是因为Snackbar就像屏幕上的覆盖层,而BottomNav类无法判断Snackbar是否显示.此外,用快餐栏相应地上下移动底部导航本身也是一种挑战.
如果我想创造你想要的东西,我会这样做.我将创建一个定制的类似快餐栏的小部件.此小部件的 struct 如下所示
Column(
children: [
Expanded(
child: Scaffold(
appBar: AppBar(
title: const Text("Hallo"),
),
body: const Center(
child: Text("Hello"),
),
),
),
CustomSnackBarLikeWidget(),
],
);
CustomSnackBarLikeWidget()通常不会显示(高度为0),从而使搭建使用整个屏幕高度,因此底部导航粘在底部.在显示CustomSnackBarLikeWidget()的情况下,它包含某种内容(某种高度),并向上推送底部导航,如snackbar below navigation bar
CustomSnackBarLikeWidget()也将是一个复杂的小部件.如果您调用此小部件以显示任何Snackbar内容,则此小部件将一直处于监视状态.
我不知道我的回答是否有帮助,但请随意问我问题.