首页 > 解决方案 > Flutter:在 Navigation.push 发生时保持 Row 存活

问题描述

使用颤振,

我想始终在我的屏幕顶部保留一个底栏(即屏幕宽的行,比如说 40 像素高度)——无论应用程序的其余部分发生什么 Navigation.push() 转换。最重要的是,此底部栏应始终位于导航阴影(或页面边框)的顶部。

这在 Flutter 中可行吗?如果是,如何?

标签: flutternavigationtransitiontabbarappbar

解决方案


我发现的一个技巧是使用“英雄”

使用Hero,我可以在Screen-Nr1 中“英雄化”我想要的底栏(即屏幕宽的行),并在Screen-Nr2 中以完全相同的尺寸对其进行“英雄化”。在这两个屏幕中,我都将这个底部栏放入了一个容器中,我能够被 Hero 包裹起来。

重要的部分是保持 Screen1 和 2 中两个 Hero-child-Containers 的尺寸相同。这具有很好的效果,即过渡阴影位于“底栏”容器后面,这正是我所需要的!


推荐阅读