我有一个顶部有徽标的登录屏幕。我希望登录表单完全位于屏幕中心(不在徽标下方空间的中心)。到目前为止,我设法使用Stack
实现了这一点,大致如下:
Stack(
children: [
Positioned(
child: Logo(),
left: 0,
top: 0,
),
Column(
children: [LoginForm()],
mainAxisAlignment: MainAxisAlignment.center,
),
],
)
一般来说,我对它的外观非常满意,但是,当弹出软键盘,可见的屏幕尺寸和中心的概念发生变化时,表格向上移动并与徽标重叠。我知道我可以防止小部件重新调整大小,但是我可以只让表单向上移动,只要它不与徽标重叠吗?
您可以使用ListView
而不是Column
来避免与徽标重叠,当键盘打开时,它会自动向上滚动表单。另请注意,一旦使用ListView
,请在其中使用shrinkWrap: true
,因为它只会占用所需的空间。希望这个答案有所帮助