Flutter 小部件显示在所有屏幕上
Posted
技术标签:
【中文标题】Flutter 小部件显示在所有屏幕上【英文标题】:Flutter widget show on all screen 【发布时间】:2021-09-17 18:10:24 【问题描述】:我有音乐列表屏幕,当按下播放音乐时,小音乐播放器显示在屏幕末尾。如果单击或向上滚动,将显示全屏音乐播放器。用户可以单击按钮折叠全屏音乐播放器。我正在使用sliding_up_panel 插件来实现这一点。
所以我的问题是,如果正在播放音乐,我想在应用程序的每个屏幕上显示小型音乐播放器。
我可以知道如何将 SlidingUpPanel 放在哪里吗?
问候, 亚历克斯
【问题讨论】:
【参考方案1】:它需要进入或高于或进入您的路由器。你可以把它放在Stack widget 中,其中一层是你的播放器小部件,另一层是你的路由视图。
【讨论】:
就像我说的我使用sliding_up_panel插件实现的,并且需要放置每个想要显示播放器的屏幕。我的问题是我想在每个屏幕上显示播放器,我不想在每个屏幕上放置那个小部件。我想将播放器放在主小部件上,只想更改类似的内容。 您在哪里更改视图/您的视图路由器在哪里?如果您的应用有一个***Scaffold
小部件并且在“body:”处路由,则可以考虑使用 Scaffold 的 bottomSheet:
。这将做你所描述的。但是,如果您有多个 Scaffolds() 并且您的路由器为您的每个视图交换 Scaffolds(),您可以将 Stack()
与您的播放器放在顶部,并将您的路由视图放在底部。无论您在哪里进行视图路由,您的播放器只需要在小部件树中的某个位置上方即可。
(不知道为什么我不能编辑我上面的评论)...*Scaffold 的 bottomSheet:
用于您的 slip_up_panel ... *将您的 slip_up_panel 播放器放在顶部...
您好 Pat9RB,感谢您的评论。我会尽力告诉你解决方案。以上是关于Flutter 小部件显示在所有屏幕上的主要内容,如果未能解决你的问题,请参考以下文章