当前位置:   article > 正文

flutter 软键盘弹出导致页面超长度问题_flutter dialog 软键盘弹出超限

flutter dialog 软键盘弹出超限

flutter 软键盘弹出导致页面超长度问题

问题现象点击输入框弹起屏幕键盘后, 页面报超过长度异常

问题原因

出现这个问题可以检查下自己的页面是否用了Scaffold组件
由于Scaffold默认是会动态计算长度的
当键盘弹起后会占用屏幕下部空间, 于是Scaffold就动态把这个空间让渡出来
这时候如果Scaffold中的子组件写了固定长度就很容易出现超过长度问题

网上好多文章都是 修改resizeToAvoidBottomInset属性为false, 但新版本的flutterScaffold已经没有了这个属性

解决方案

如果页面是头重脚轻的话这个方案可能行不通

  1. 最下方组件外层套用一个Expend
  2. 最下方组件中的固定高度去掉
  3. 设置一个下边距(margin或者padding都行), 如果最下方组件没有边距设置则用个Container套住
示例:
	Expanded(
      child: Container(
        padding: EdgeInsets.only(bottom: 20),
        child: 最下方组件(
          // height: G.layout.L(G.screenHeight() * 0.6),
          // constraints: BoxConstraints(
          //   minHeight: G.layout.L(240),
          //   maxHeight: G.layout.L(G.screenHeight() * 0.55),
          // ),
          child: ...省略
          )
       )
    );
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/268737
推荐阅读
相关标签
  

闽ICP备14008679号