如何显示没有上下文对象的Snackbar?

问题描述 投票:0回答:1

[在很多情况下,关于UI代码和业务逻辑,我们会分开关注。这在我们在Flutter中使用的大多数状态管理解决方案中都得到了体现。

在许多状态管理解决方案中,业务逻辑位于视图文件(小部件文件)之外,在某些情况下,我们希望基于浮动的逻辑来显示小吃店。

但是为了显示Snackbar,我们首先需要一个上下文对象。我已经使用了NavigatorState来导航而没有上下文。但是我不知道是否有没有上下文显示SnackBar的方法。

有人可以为此提供解决方案吗?

此外,如果您可以提供一种内部管理状态的实用程序方法,并且每当用户想要显示小吃栏时,只需从其逻辑部分调用该实用程序方法,这将非常有帮助。

flutter dart flutter-layout flutter-animation
1个回答
0
投票
如果使用the package Get,则可以不使用context进行导航,而可以从代码中的任何位置打开dialogssnackbarsbottomsheets。但是,snackbars特别有一些问题。

因为它不检查Scaffold,所以snackbar直接显示在屏幕底部。这意味着如果您有一个BottomNavigationBar,它将被它覆盖或部分覆盖。

这也意味着,如果您有FloatingActionButton,它将不会响应snackbar位置,而不会像普通的snackbar

总而言之,使用Get,您可以在没有snackbars的情况下拥有context,但是您必须在UI中做出一些牺牲。

© www.soinside.com 2019 - 2024. All rights reserved.