我想隐藏屏幕上的按钮并在用户开始滚动直到最后一次滚动的5秒后显示它们。
我用SingleChildScrollView
包裹了我的GestureDetector
,并用onTap
回调改变了可见性值,用Visibility
小部件隐藏了我的按钮。但是,没有像qsxswpoi上的onScroll这样的事件。
是否有人成功实现了这种效果,或者是否有任何内置动画用于我想要实现的目标?
你是对的,GestureDetector
上没有任何onScroll
事件,但有GestureDetector
事件,基本相同,有另一个名字。
但是,为此,你实际上并不需要onVerticalDrag
。您可以通过GestureDetector
收听滚动更改,处理ScrollStartNotification
和ScrollEndNotification
通知,因为您已经在使用NotificationListener
。
我已经创建了一个小例子来向您展示将生成以下内容:滚动标志以显示按钮设置为SingleChildScrollView
,最后,它将重置回true
并在5秒后重建树没有按钮如果之间没有更多滚动通知(这就是你在false
完成之后但之前没有设置_buttonShowing = false
的原因。
Future