flutter - 在 Flutter 升级 2.2.0 后,包含 Textfield 的 ShowModalBottomSheet 被键盘隐藏
问题描述
在我的应用程序中,当用户单击 FAB 时,它会触发一个包含文本字段的 ModalBottomSheet。直到今天(当我更新到 Flutter 2.2.0 时),下面的代码运行良好:当用户点击文本字段时,BottomSheet 向上移动,我们可以正常使用键盘。现在,当我们点击文本字段时,键盘会隐藏 BottomSheet。
更新有变化吗?
这是代码:
floatingActionButton: FloatingActionButton(
backgroundColor: Colors.blue[800],
child: Icon(Icons.add),
onPressed: () {
showModalBottomSheet<void>(
isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20.0),
topRight: Radius.circular(20.0),
),
),
context: context,
builder: (BuildContext context) {
return Container(
height: 250,
child: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(26.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
'Ajouter une liste au carnet',
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.blue[800],
fontSize: 22.0,
),
),
),
SizedBox(
height: 30,
),
Column(
children: [
TextFormField(
keyboardType: TextInputType.emailAddress,
decoration: InputDecoration(
focusColor: Colors.blue,
border: OutlineInputBorder(
borderRadius:
BorderRadius.circular(10.0),
),
labelText:
'Titre de la nouvelle liste'),
onChanged: (value) {
titre = value;
},
),
解决方案
我找到了解决这个问题的方法:我将 SingleChildScrollView 作为第一个 Child 添加到 ModalBottomSheet 并直接将“CbL”给出的填充元素添加到容器中而不是容器中。
return SingleChildScrollView(
padding: EdgeInsets.only(
bottom: MediaQuery.of(context).viewInsets.bottom),
child: Container(
height: 250,
感谢 CbL 的帮助 :)
推荐阅读
- javascript - 动态减去日期、月份和年份,并使用 Jquery 将数据作为天数
- reactjs - 从表中删除行(无法读取 null 的属性“数据”)
- encryption - 解密 aes 128 加密清单 .3mu8
- c++ - 嵌套容器:为什么我不能访问堆栈队列顶部的堆栈?C++
- javascript - VueJS 反应性在刀片部分内不起作用
- sql-server - CTE 查找在无限循环中运行的顺序备份
- reactjs - 重新渲染后文本不出现
- angular6 - 角度 6 Router.navigate 右键单击不提供“在新选项卡中打开”选项
- vb.net - 如何根据运行程序的计算机在程序中使用本地或外部 IP 地址?
- java - 我可以使用哪个定位器通过 selenium 单击 span 元素