Flutter 文本框内底纸颤振
我有一张底片,如下所示 它里面有一个文本框,当我点击时,我得到了类似的东西 我的文本框完全被键盘覆盖。 有什么办法解决这个问题吗 下面是代码Flutter 文本框内底纸颤振,flutter,Flutter,我有一张底片,如下所示 它里面有一个文本框,当我点击时,我得到了类似的东西 我的文本框完全被键盘覆盖。 有什么办法解决这个问题吗 下面是代码 Widget buildSupportingWidget( Map<String, Object> items, StateSetter setState) { if (items['type'] == "string") { dispName = items['displayName']; re
Widget buildSupportingWidget(
Map<String, Object> items, StateSetter setState) {
if (items['type'] == "string") {
dispName = items['displayName'];
return Container(
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 27.0,
vertical: 16.0,
),
child: new TextFormField(
style: new TextStyle(fontSize: 12.0, color: Colors.black),
decoration: new InputDecoration(
labelText: "Enter value",
),
keyboardType: TextInputType.text,
controller: filterTextFieldData,
)));
}
return null;
}
Widget buildSupportingWidget(
映射项、状态设置器设置状态){
如果(项目['type']=“string”){
dispName=项['displayName'];
返回容器(
孩子:填充(
填充:const EdgeInsets.symmetric(
水平线:27.0,
垂直线:16.0,
),
子项:新建TextFormField(
样式:新文本样式(字体大小:12.0,颜色:Colors.black),
装饰:新的输入装饰(
labelText:“输入值”,
),
键盘类型:TextInputType.text,
控制器:filterTextFieldData,
)));
}
返回null;
}
我正在调用Bottomshet中的上述小部件
谢谢你,上周我遇到了同样的问题,我通过创建有状态的底部表单并添加容器(高度为列的最后一个小部件)解决了这个问题 开底板
InkWell(
onTap: () {
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (context) {
return ModalBottomSheet(
);
});
})
class ModalBottomSheet extends StatefulWidget {
@override
_ModalBottomSheetState createState() => _ModalBottomSheetState();
}
class _ModalBottomSheetState extends State<ModalBottomSheet>
with SingleTickerProviderStateMixin {
@override
Widget build(BuildContext context) {
double keyboardHeight = MediaQuery.of(context).viewInsets.bottom;
// TODO: implement build
return Wrap(
children: <Widget>[
Container(
margin:
EdgeInsets.only(left: 10.0, right: 10.0, top: 15.0, bottom: 15.0),
child: Column(
children: <Widget>[
Widgets(),
Container(
height: keyboardHeight ,
)
]
)
)
],
);
}
}
有状态底片
InkWell(
onTap: () {
showModalBottomSheet(
context: context,
isScrollControlled: true,
builder: (context) {
return ModalBottomSheet(
);
});
})
class ModalBottomSheet extends StatefulWidget {
@override
_ModalBottomSheetState createState() => _ModalBottomSheetState();
}
class _ModalBottomSheetState extends State<ModalBottomSheet>
with SingleTickerProviderStateMixin {
@override
Widget build(BuildContext context) {
double keyboardHeight = MediaQuery.of(context).viewInsets.bottom;
// TODO: implement build
return Wrap(
children: <Widget>[
Container(
margin:
EdgeInsets.only(left: 10.0, right: 10.0, top: 15.0, bottom: 15.0),
child: Column(
children: <Widget>[
Widgets(),
Container(
height: keyboardHeight ,
)
]
)
)
],
);
}
}
class ModalBottomSheet扩展StatefulWidget{
@凌驾
_ModalBottomSheetState createState()=>ModalBottomSheetState();
}
类_ModalBottomSheetState扩展状态
使用SingleTickerProviderStateMixin{
@凌驾
小部件构建(构建上下文){
双键盘高度=MediaQuery.of(context).viewInsets.bottom;
//TODO:实现构建
回程包装(
儿童:[
容器(
保证金:
仅限边集(左:10.0,右:10.0,顶部:15.0,底部:15.0),
子栏(
儿童:[
Widgets(),
容器(
高度:键盘高度,
)
]
)
)
],
);
}
}
另外,请帮助我检查键盘是否打开