Flutter小部件在所有屏幕上显示

3
我有一个音乐列表屏幕,当点击播放音乐时,在屏幕底部会显示一个小型音乐播放器。如果单击或向上滚动,将显示全屏音乐播放器。用户可以单击按钮折叠全屏音乐播放器。我使用sliding_up_panel插件来实现这一点。
因此,我的问题是,如果正在播放音乐,我想在应用程序的每个屏幕上显示小型音乐播放器。
请问SlidingUpPanel应该放在哪里?
谢谢, Alex
1个回答

0

它需要放在你的路由器中或上面或里面。你可以把它放在Stack widget中,其中一层是你的播放器小部件,另一层是你的路由视图。


就像我之前所说的,我使用了sliding_up_panel插件,并需要将想要显示播放器的每个屏幕都放置在其中。我的问题是,我想在每个屏幕上显示播放器,但不想在每个屏幕上都放置该小部件。我想将播放器放在主要小部件上,只需更改内容即可。 - Alex Aung
你在哪里更改你的视图/你的视图路由器在哪里?如果你的应用程序有一个单一的顶层'Scaffold'小部件,并且在'body:'处进行路由,你可以考虑使用'Scaffold'的'bottomSheet:'。这将实现你所描述的功能。但是,如果你有多个'Scaffolds()'并且你的路由器为每个视图交换'Scaffolds()',你可以在顶部放置一个带有播放器的'Stack()',底部放置你的路由视图。无论你在哪里进行视图路由,你的播放器只需要在小部件树中的该位置之上即可。 - Pat9RB
使用 Scaffold 的 bottomSheet: 来创建你的 sliding_up_panel,并在其顶部放置播放器。 - Pat9RB
嗨,Pat9RB,感谢你的评论。我会尝试并让你知道解决方案。 - Alex Aung

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接