Flutter 键盘唤起问题:解锁无法避免的报错迷局

377 阅读1分钟

报错预览

报错截图

错误原因

当一个页面的内容不能全部展示出来时,就会出现这种错误。其实这里如果没有键盘弹出,内容长度超过屏幕可显示范围,同样会报错。

解决方法

这个问题也很容易解决,有2种解决方法。

  • 设置 ScaffoldresizeToAvoidBottomPadding 属性为 false,这样页面就不会随着键盘弹起而滚动(该方法只针对弹出键盘报错的情况,如果页面内容长度超过屏幕可显示范围,该方法无效)。
scaffold(
  resizeToAvoidBottomPadding: false.
  ...
)

使用该方法会阻止弹出报出的异常,但是弹出依然有可能遮挡输入框,影响用户输入。

  • 添加一个滚动视图,该方法直接彻底解决该类问题,推荐使用。
singleChildscrollview(
  child: new Column(
    ...
  ),
  ...
)

只需要在视图外层加入一个 SingleChildScrollView 控件即可,非常简单!

原文链接: leviqin.top/topic-detai…