【发布时间】:2021-07-24 15:36:02
【问题描述】:
我在页面中显示了一个登录按钮。例如,用户登录后,SnackBar 将显示“Logged In with Google”。虽然SnackBar 仍在显示,但Scaffold 的主体正在构建到一个新页面,登录用户可以访问该页面。但是,在 Snackbar 仍然显示时构建页面会在脚手架中留下一个填充,在 SnackBar 使用的区域中,因此底层 Scaffold body 仍然可见,但您无法与其交互.如果body 的底部有一个按钮,则不会点击该按钮,因为(已经关闭的)SnackBar 留下的不可见填充会阻止下面的内容。
我错过了什么?还有其他方法可以产生预期的结果吗?
【问题讨论】:
-
我找到了问题的根本原因。如果在一个页面中显示一个 Snackbar,并且在显示它时,用户移动到另一个页面(例如在 bottomNagationBar 中),则新页面是使用我提到的填充问题构建的。但是,如果
SnackBar在移动到另一个页面之前消失,则没有问题。因此,将可见的SnackBar“传输”到另一个页面会产生很多问题。知道可以做什么吗?
标签: flutter dart snackbar scaffold