当一些异步数据进入时,我希望在当前屏幕上显示一个小部件。但是,我不希望它是一个SnackBar或MaterialBanner,而是一个具有自己外观和感觉的小部件。
问题是,我还没有能够弄清楚如何确定哪个“屏幕”/路线是当前的;我已经查看了Scaffold.of、RouteObserver、provider和其他一些东西,但是还没有任何东西能够工作。
我也看过ScaffoldMessenger,但还没有弄清楚如何让它显示除了SnackBar或MaterialBanner之外的任何东西。(我知道SnackBar和MaterialBanner都可以自定义,但这不是我想要的。)
为了简化一点,我需要的是下面的xxxxx
:
static void gotData(Object data) {
Widget msgbox = messageBox(data); // similar to SnackBar. a message widget.
globalstuff.msgbox = msgbox; // my routes will position/display this in each build()
xxxxx.setState(() {}); // how do i get xxxxx?
}
这可能看起来很简单/很愚蠢,但我就是没能取得任何进展。
1条答案
按热度按时间6pp0gazn1#
您可以使用叠加来显示您自己的自定义构件,而不是默认的小吃栏。
下面是一个代码片段: