flutter 如何设置底部导航栏 不让模态框遮盖?
时间: 2023-09-07 07:11:31 浏览: 193
在 Flutter 中,要实现底部导航栏不被模态框遮盖,可以使用 `Stack` 组件来实现层叠布局。将底部导航栏和模态框放在同一个 `Stack` 中,然后将底部导航栏放在模态框的上面即可。
具体的实现步骤如下:
1. 在 `Scaffold` 中使用 `Stack` 组件来实现层叠布局。
```dart
Scaffold(
body: Stack(
children: <Widget>[
// 底部导航栏组件
Positioned(
left: 0,
right: 0,
bottom: 0,
child: BottomNavigationBar(
// ... 底部导航栏的相关属性设置
),
),
// 模态框组件
Positioned(
left: 0,
right: 0,
bottom: 0,
top: 0,
child: Center(
child: Container(
// ... 模态框的相关属性设置
),
),
),
],
),
);
```
2. 将底部导航栏放在模态框的上面。
在上面的代码中,我们将底部导航栏放在了模态框的下面,这样模态框就会遮盖底部导航栏。要解决这个问题,只需要将底部导航栏放在模态框的上面即可。具体来说,我们可以将底部导航栏放在 `Stack` 中的第一个子节点,将模态框放在第二个子节点,这样底部导航栏就会被放在模态框的上面了。
```dart
Stack(
children: <Widget>[
// 底部导航栏组件
BottomNavigationBar(
// ... 底部导航栏的相关属性设置
),
// 模态框组件
Center(
child: Container(
// ... 模态框的相关属性设置
),
),
],
);
```
这样就可以实现底部导航栏不被模态框遮盖的效果了。
阅读全文