簡體   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