触摸时将小部件置于最前面
Bring widget to front in flutter on touch
我是 Flutter 的新手,我来自 Android 开发,我想做一些相当于 bringToFront()
方法的事情,将 Widget
放在“查看层次结构”,位于其他之上。
我在同一页面上有 5 个 Widget
彼此相邻显示,当我触摸其中一个时,我只想全屏显示在其他页面上方。
到目前为止我正在使用 Stack
小部件,但顺序由 Stack
中的 Widget
s 位置固定,我尝试使用动态 List<Widget>
在每个小部件的 onPressed()
方法中更新。这太慢了,不是我想要的。
当在 Flutter 中触摸任何 Widget
时,是否可以实现非常简单的 bringToFront()
?
编辑 :
为了更好地指定我的结构:
据我所知Navigator
,它会转到一个新的页面,动画可能不流畅。
我在 phone 的每个角度上有 4 个 Container
+ 一个在中间居中,缩放尺寸为 phone 宽度的 30%。
当我点击其中一个时,我想将它从 0.3 缩放到 1 以获得流畅的动画,尤其是 使其高于所有其他 因为它已被选中。
更新:
我的简单点击手势问题已按照@yellowgray 的建议由 HeroWidget 解决。
但我还需要让小部件跟随我的手指缩放 (GestureDetector)。在这种情况下,小部件在增长时仍然在其他人的下面...
真正的问题是当你的手指在屏幕上触摸一个 Widget 时,无论之后执行哪个手势,它都会使它高于其他 Widget。
我在这个 post 中找到了全局答案:
诀窍是使用 GlobalKey()
方法来识别要放在前面的 Widgets
。在我的测试中,我正在创建一个新实例。
希望这对其他人有帮助。
我是 Flutter 的新手,我来自 Android 开发,我想做一些相当于 bringToFront()
方法的事情,将 Widget
放在“查看层次结构”,位于其他之上。
我在同一页面上有 5 个 Widget
彼此相邻显示,当我触摸其中一个时,我只想全屏显示在其他页面上方。
到目前为止我正在使用 Stack
小部件,但顺序由 Stack
中的 Widget
s 位置固定,我尝试使用动态 List<Widget>
在每个小部件的 onPressed()
方法中更新。这太慢了,不是我想要的。
当在 Flutter 中触摸任何 Widget
时,是否可以实现非常简单的 bringToFront()
?
编辑 :
为了更好地指定我的结构:
据我所知Navigator
,它会转到一个新的页面,动画可能不流畅。
我在 phone 的每个角度上有 4 个 Container
+ 一个在中间居中,缩放尺寸为 phone 宽度的 30%。
当我点击其中一个时,我想将它从 0.3 缩放到 1 以获得流畅的动画,尤其是 使其高于所有其他 因为它已被选中。
更新:
我的简单点击手势问题已按照@yellowgray 的建议由 HeroWidget 解决。
但我还需要让小部件跟随我的手指缩放 (GestureDetector)。在这种情况下,小部件在增长时仍然在其他人的下面...
真正的问题是当你的手指在屏幕上触摸一个 Widget 时,无论之后执行哪个手势,它都会使它高于其他 Widget。
我在这个 post 中找到了全局答案:
诀窍是使用 GlobalKey()
方法来识别要放在前面的 Widgets
。在我的测试中,我正在创建一个新实例。
希望这对其他人有帮助。