Flutter 颤振:焦点文本字段时键盘不显示
我在颤振项目中使用了“TextField”。在模拟器iPhone SE 2nd中,键盘显示正常。但在模拟器iPhone 11 Pro中,键盘不显示。我的代码中有什么错误吗?谢谢Flutter 颤振:焦点文本字段时键盘不显示,flutter,keyboard,Flutter,Keyboard,我在颤振项目中使用了“TextField”。在模拟器iPhone SE 2nd中,键盘显示正常。但在模拟器iPhone 11 Pro中,键盘不显示。我的代码中有什么错误吗?谢谢 class _LoginWidgetState extends State<LoginWidget> { final TextEditingController _userNameController = new TextEditingController(); final TextEditingCo
class _LoginWidgetState extends State<LoginWidget> {
final TextEditingController _userNameController = new TextEditingController();
final TextEditingController _passwordController = new TextEditingController();
@override
Widget build(BuildContext context) {
_userNameController.addListener(() {});
_passwordController.addListener(() {});
return Container(
width: widget.parentSize.width / 1.5,
height: widget.parentSize.height / 2,
child: Column(
children: [
TextField(
autofocus: true,
controller: _userNameController,
decoration: InputDecoration(
prefixIcon: Icon(Icons.people),
hintText: '请输入用户名',
),
),
TextField(
autofocus: false,
obscureText: true,
controller: _passwordController,
decoration: InputDecoration(
prefixIcon: Icon(Icons.lock),
hintText: '请输入密码',
),
),
SizedBox(
width: double.infinity,
child: RaisedButton(
color: Color(ARGB.BTN_REGISTER),
onPressed: () {},
child: Text('注册'),
),
),
],
),
);
}
}
class\u LoginWidgetState扩展状态{
最终文本编辑控制器_userNameController=新文本编辑控制器();
最终文本编辑控制器_passwordController=新文本编辑控制器();
@凌驾
小部件构建(构建上下文){
_userNameController.addListener((){});
_passwordController.addListener((){});
返回容器(
宽度:widget.parentSize.width/1.5,
高度:widget.parentSize.height/2,
子:列(
儿童:[
文本字段(
自动对焦:对,
控制器:\ u userNameController,
装饰:输入装饰(
前缀:图标(Icons.people),
hintText:'请输入用户名',
),
),
文本字段(
自动对焦:错误,
蒙昧文字:对,
控制器:_passwordController,
装饰:输入装饰(
前缀:图标(Icons.lock),
hintText:'请输入密码',
),
),
大小盒子(
宽度:double.infinity,
孩子:升起按钮(
颜色:颜色(ARGB.BTN_寄存器),
按下:(){},
子:文本('注册'),
),
),
],
),
);
}
}
试试这个
尝试这个看看
FocusNode focusNode;
class _LoginWidgetState extends State<LoginWidget> {
final TextEditingController _userNameController = new TextEditingController();
final TextEditingController _passwordController = new TextEditingController();
@override
Widget build(BuildContext context) {
_userNameController.addListener(() {});
_passwordController.addListener(() {});
return GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}}
child: Container(
width: widget.parentSize.width / 1.5,
height: widget.parentSize.height / 2,
child: Column(
children: [
TextField(
focusNode: focusNode,
autofocus: true,
controller: _userNameController,
decoration: InputDecoration(
prefixIcon: Icon(Icons.people),
hintText: '请输入用户名',
),
),
TextField(
autofocus: false,
obscureText: true,
controller: _passwordController,
decoration: InputDecoration(
prefixIcon: Icon(Icons.lock),
hintText: '请输入密码',
),
),
SizedBox(
width: double.infinity,
child: RaisedButton(
color: Color(ARGB.BTN_REGISTER),
onPressed: () {},
child: Text('注册'),
),
),
],
),
));
}
}
FocusNode FocusNode;
类_LoginWidgetState扩展状态{
最终文本编辑控制器_userNameController=新文本编辑控制器();
最终文本编辑控制器_passwordController=新文本编辑控制器();
@凌驾
小部件构建(构建上下文){
_userNameController.addListener((){});
_passwordController.addListener((){});
返回手势检测器(
onTap:(){
FocusScopeNode currentFocus=FocusScope.of(上下文);
如果(!currentFocus.hasPrimaryFocus){
currentFocus.unfocus();
}}
子:容器(
宽度:widget.parentSize.width/1.5,
高度:widget.parentSize.height/2,
子:列(
儿童:[
文本字段(
focusNode:focusNode,
自动对焦:对,
控制器:\ u userNameController,
装饰:输入装饰(
前缀:图标(Icons.people),
hintText:'请输入用户名',
),
),
文本字段(
自动对焦:错误,
蒙昧文字:对,
控制器:_passwordController,
装饰:输入装饰(
前缀:图标(Icons.lock),
hintText:'请输入密码',
),
),
大小盒子(
宽度:double.infinity,
孩子:升起按钮(
颜色:颜色(ARGB.BTN_寄存器),
按下:(){},
子:文本('注册'),
),
),
],
),
));
}
}