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中即可,当输入框获取焦点后,系统会自动将它滑动到可视区域

作者:小吉快跑呀
链接:https://www.jianshu.com/p/4dab8a87f28b
来源:简书

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐