赞
踩
个人在项目中遇到软键盘弹出遮挡问题的解决,主要使用了一下两种
方法一:
如果我们的页面在被自带的Scaffold中包裹的情况下,该组件是带有自适应输入法弹出的,它有一个属性resizeToAvoidBottomInsetn,参数是bool类型,通过true/false来控制是否重新计算高度,默认打开。这段代码就不贴了,入门的都知道。
方法二:
在弹窗样式的输入框里使用Scaffold会有一些问题,所以使用如下这中方式是比较合适的能实现一个比较完美的效果。
- showModalBottomSheet(
- isScrollControlled: true,
- context: context,
- enableDrag: false,
- isDismissible: false,
- backgroundColor: Colors.white,
- builder: (context) => WillPopScope(
- onWillPop: () async => false, //防止点击返回按键
- child: AnimatedPadding(
- padding: MediaQuery.of(context).viewInsets,
- // 我们可以根据这个获取需要的padding,解决showModalBottomSheet被软键盘遮盖问题
- duration: const Duration(milliseconds: 100),
- child: showTableBottomContentEdit(items, element.value),
- ),
- ));
上述两种仅仅是我在项目中用到的,如果无法达到所需的效果可以看看下面这篇文章有比较多样的案例,可以参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。