当键盘可见时,其上方有一个空白区域。我尝试了设置scaffold属性resizeToAvoidBottomInset: false,extendBodyBehindAppBar: true等建议,但没有帮助。我该怎么办?
resizeToAvoidBottomInset: false
extendBodyBehindAppBar: true
xwbd5t1u1#
在网上搜索和尝试之后,我发现问题来自于在容纳文本字段的容器中使用填充。我用padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 80)。这样做的效果是在屏幕的左右两侧增加了16px的空间,同时在屏幕的顶部和底部增加了80px的空间。所以当键盘可见时,它会从底部向上推80px的空间,并将其添加到键盘上方,因此键盘上方的空间也就存在了。
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 80)
解决方案
我将padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 80)替换为padding: const EdgeInsets.fromLTRB(16, 40, 16, 0),这样屏幕底部的空间就为0px。
padding: const EdgeInsets.fromLTRB(16, 40, 16, 0)
1条答案
按热度按时间xwbd5t1u1#
在网上搜索和尝试之后,我发现问题来自于在容纳文本字段的容器中使用填充。
我用
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 80)
。这样做的效果是在屏幕的左右两侧增加了16px的空间,同时在屏幕的顶部和底部增加了80px的空间。所以当键盘可见时,它会从底部向上推80px的空间,并将其添加到键盘上方,因此键盘上方的空间也就存在了。解决方案
我将
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 80)
替换为padding: const EdgeInsets.fromLTRB(16, 40, 16, 0)
,这样屏幕底部的空间就为0px。