如何在 Flutter 的 TextField 中禁用预测文本?

How to disable predictive text in TextField of Flutter?

我想禁用文本字段键盘中的预测文本。在原生 android 和 IOS 中没那么难,但我还没有在 Flutter 中找到解决方案。

我试过使用 autocorrect: false 并更改键盘类型,但它不起作用。

TextField(
          autocorrect: false,
          keyboardType: TextInputType.emailAddress,
          decoration: new InputDecoration(hintText: "Enter text"),
          autofocus: true,
        ),

在撰写此答案时,Android 中尚不可用。但是在 iOS 上使用 autocorrect: false 应该可以正常工作。

检查:https://github.com/flutter/flutter/issues/22828

这对我在 iOS 和 android

上都有效
                    TextField(
                        autocorrect: false,
                        obscureText: true,
                        controller: answerText,
                        textAlign: TextAlign.center,
                        keyboardType: TextInputType.text,
                        textInputAction: TextInputAction.done,
                        autofocus: true,
                        onChanged: (value) {
                          setState(() {
                            result = value;
                          });
                        },),

唯一的缺点是屏幕上写的内容模糊不清。解决方法是在屏幕中的某处添加 Text(result)

您可以尝试将 enableSuggestions = false 添加到您的文本字段小部件。这应该会禁用键盘上的预测文本,因为 https://github.com/flutter/flutter/pull/42550

TextField(
      autocorrect: false,
      enableSuggestions: false,
      keyboardType: TextInputType.emailAddress,
      decoration: new InputDecoration(hintText: "Enter text"),
      autofocus: true,
    ),

如果enableSuggestionsautocorrect都无法解决问题,请尝试将keyboardType设置为TextInputType.visiblePassword.

现在暂时尝试这样做,因为还没有具体的解决方案

TextField(
  enableSuggestions: false,
  keyboardType: TextInputType.visiblePassword
)

确实有效。我会说它不是那么明显而且 enableSuggestions 似乎根本没有改变行为(只是 keyboardType 属性)并且当 keyboardType 设置为除 visiblePassword

以外的任何其他内容