是否可以从点击屏幕的位置开始显示AlertDialog
,类似于animations包中的Container transform
?在这种情况下,容器最初不显示,应该通过从空白区域接收onTap
和GestureDetector
来触发。然后,我想显示如上所述的动画对话框。
是否可以从点击屏幕的位置开始显示AlertDialog
,类似于animations包中的Container transform
?在这种情况下,容器最初不显示,应该通过从空白区域接收onTap
和GestureDetector
来触发。然后,我想显示如上所述的动画对话框。
1条答案
按热度按时间nom7f22z1#
我的客人,Flutter的动画包没有一个内置的容器变换一样,在材料运动。但是,您可以创建自定义动画对话框,该对话框从点击屏幕的位置开始。
要实现这一点,您可以遵循以下常规步骤:
1.用
GestureDetector
包裹您的主要内容,以检测在空白区域上的点击。1.检测到敲击时,记录敲击的位置(即
Offset
)。1.在记录的位置显示隐藏的或空的容器,并使用动画(例如,
AnimatedContainer
)以所需的动画显示对话框的内容。1.您可以使用动画库,如
animations
或Flutter的内置AnimationController
和AnimationBuilder
来控制动画。下面是一个简化的示例,说明如何做到这一点:
字符串
在这个例子中,当用户点击空白区域时,
_onTap
方法被触发。_tapPosition
存储点击的位置,然后_animationController
用于动画对话框的不透明度和缩放。对话框将出现并从轻击位置增长,从而创建由轻击手势触发的对话框的效果。