繁体   English   中英

Flutter:当焦点文本字段时键盘不显示

[英]Flutter:Keyboard not show when focus TextField

我在我的颤振项目中使用了“TextField”。在模拟器 iPhone SE 2nd 中,键盘显示正常。但在模拟器 iPhone 11 Pro 中,键盘不显示。我的代码有问题吗?谢谢!

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('注册'),
            ),
          ),
        ],
      ),
    );
  }
}

试试这个试试看

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('注册'),
            ),
          ),
        ],
      ),
    ));
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM