Flutter 在底部工作表顶部显示 Snackbar

Sam*_*her 6 dart android-snackbar flutter flutter-layout flutter-widget

在我的代码中,我调用底部工作表来显示瓷砖列表。这些磁贴包含显示快餐栏的按钮。该功能工作正常,唯一的问题是小吃栏显示在底部工作表的后面,因此只有关闭底部工作表才能看到它。它们中的每一个都使用以下代码调用:

1. 底片:

  void _settingModalBottomSheet(context, stream, scaffoldKey ) {
    if (_availableRides.length == 0) {
      return null;
    } else {
      return scaffoldKey.currentState.showBottomSheet((context) {
        return Column(
          children: Widgets;
      });
    }
  }
Run Code Online (Sandbox Code Playgroud)

2. 小吃店

widget.scaffoldKey.currentState.showSnackBar(SnackBar(
         content: Text("Created", textAlign: 
    TextAlign.center,),),
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何将小吃店放在底纸前面

Sam*_*her 5

所以我可以通过在我的底部工作表中添加另一个 Scaffold() 并传递一个新的脚手架键来解决这个问题

  • 你能分享一些片段吗 (9认同)
  • 这不是一个好的解决方案,因为底部工作表现在占据了整个屏幕高度! (5认同)
  • @dipansh我不想定义一个固定的高度,而是应该根据其主体动态地定义 (2认同)

Pab*_*era 5

SnackBar有一个属性。它叫做behavior,你可以这样做:

SnackBar(
    behavior: SnackBarBehavior.floating,
    ...
Run Code Online (Sandbox Code Playgroud)

SnackBarBehavior 枚举

漂浮的 ?const SnackBarBehavior

此行为将导致 SnackBar 显示在 Scaffold 中的其他小部件上方。这包括显示在 BottomNavigationBar 和 FloatingActionButton 上方。

有关更多详细信息,请参阅 material.io/design/components/snackbars.html。

  • 很遗憾地说,但建议的解决方案对我不起作用。谢谢。 (2认同)