触摸时将小部件置于最前面

Bring widget to front in flutter on touch

我是 Flutter 的新手,我来自 Android 开发,我想做一些相当于 bringToFront() 方法的事情,将 Widget 放在“查看层次结构”,位于其他之上。

我在同一页面上有 5 个 Widget 彼此相邻显示,当我触摸其中一个时,我只想全屏显示在其他页面上方。

到目前为止我正在使用 Stack 小部件,但顺序由 Stack 中的 Widgets 位置固定,我尝试使用动态 List<Widget>在每个小部件的 onPressed() 方法中更新。这太慢了,不是我想要的。

当在 Flutter 中触摸任何 Widget 时,是否可以实现非常简单的 bringToFront()

编辑 :

为了更好地指定我的结构:

据我所知Navigator,它会转到一个新的页面,动画可能不流畅。

我在 phone 的每个角度上有 4 个 Container + 一个在中间居中,缩放尺寸为 phone 宽度的 30%。

当我点击其中一个时,我想将它从 0.3 缩放到 1 以获得流畅的动画,尤其是 使其高于所有其他 因为它已被选中。

更新:

我的简单点击手势问题已按照@yellowgray 的建议由 HeroWidget 解决。

但我还需要让小部件跟随我的手指缩放 (GestureDetector)。在这种情况下,小部件在增长时仍然在其他人的下面...

真正的问题是当你的手指在屏幕上触摸一个 Widget 时,无论之后执行哪个手势,它都会使它高于其他 Widget。

我在这个 post 中找到了全局答案:

诀窍是使用 GlobalKey() 方法来识别要放在前面的 Widgets。在我的测试中,我正在创建一个新实例。

希望这对其他人有帮助。