当前位置 博文首页 > “Allen Su”的博客:【Flutter 常见问题】如何防止软键盘弹出后

    “Allen Su”的博客:【Flutter 常见问题】如何防止软键盘弹出后

    作者:[db:作者] 时间:2021-07-07 18:43

    问题描述

    前几天遇到一个问题,在层级组件 Stack 中,当键盘 TextField 的输入框获取到焦点的时候,会出现因为软键盘的弹出,把内容给顶上去的情况,模拟情况如下动态图。
    在这里插入图片描述
    这种情况当然不是我们需要的,怎么解决呢?其实也很简单,一行代码就行了。

    解决方案

    在 Scaffold 中有一个属性是 resizeToAvoidBottomInset ,类型为 bool ,默认为 true。

    源码的解释是如果该属性为 true,则 body 和脚手架的浮动窗口组件会自行调整大小,从而防止键盘遮盖内部的组件。

    所以只需要将该属性设置为 false,让键盘可以遮盖内部的组件即可。如下代码所示

    @override
      Widget build(BuildContext context) {
        return Scaffold(
          resizeToAvoidBottomInset: false,
        );
      }
    

    修改后的效果

    修改后的动态示意图如下所示

    在这里插入图片描述
    END


    结束语

    技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点,最后,附上一句格言,望共勉:好学若饥,谦卑若愚。

    开发者俱乐部

    cs
    下一篇:没有了