flutter中关于软键盘弹起导致的问题

  1. 当布局高度写死时,例如设置为屏幕高度,这时候键盘弹起页面上会出现布局overflow的提示
  2. 软键盘弹起后遮挡输入框

原因:在flutter中,键盘弹起时系统会缩小Scaffold的高度并重建

解决问题1中overflow提示的两种办法:

1)把Scaffold的resizeToAvoidBottomInset属性设置为false,这样在键盘弹出时将不会resize

2)把写死的高度改为 原高度 - MediaQuery.of(context).viewInsets.bottom,键盘弹出时布局将重建,而这个MediaQuery.of(context).viewInsets.bottom变量在键盘弹出前是0,键盘弹起后的就是键盘的高度

解决问题2的办法:

将输入框放进可滚动的Widget中即可,当输入框获取焦点后,系统会自动将它滑动到可视区域

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容