当前位置 博文首页 > “Allen Su”的博客:【Flutter 常见问题】如何防止软键盘弹出后
问题描述
前几天遇到一个问题,在层级组件 Stack 中,当键盘 TextField 的输入框获取到焦点的时候,会出现因为软键盘的弹出,把内容给顶上去的情况,模拟情况如下动态图。
这种情况当然不是我们需要的,怎么解决呢?其实也很简单,一行代码就行了。
解决方案
在 Scaffold 中有一个属性是 resizeToAvoidBottomInset
,类型为 bool ,默认为 true。
源码的解释是如果该属性为 true,则 body 和脚手架的浮动窗口组件会自行调整大小,从而防止键盘遮盖内部的组件。
所以只需要将该属性设置为 false,让键盘可以遮盖内部的组件即可。如下代码所示
@override
Widget build(BuildContext context) {
return Scaffold(
resizeToAvoidBottomInset: false,
);
}
修改后的效果
修改后的动态示意图如下所示
END
cs技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点,最后,附上一句格言,望共勉:好学若饥,谦卑若愚。
结束语