【问题标题】:How can i do flutter autofocus but keyboard dismiss我怎么能做颤振自动对焦但键盘关闭
【发布时间】:2020-02-24 21:08:29
【问题描述】:

每当页面打开时,我希望光标出现,但我不想要键盘。有谁知道我该怎么做?

TextField(
  textCapitalization:TextCapitalization.sentences,
  controller: _textEditingController,
  autofocus: true
)

【问题讨论】:

  • 在移动应用程序的上下文中,这有点像第 22 条规则。闪烁光标的出现意味着文本字段正在接受输入,但如果键盘没有出现,则无法提供输入。这种情况让我觉得很容易造成用户界面混乱。指示文本字段可编辑的更好方法是描述性提示文本。
  • 我想要它就像whatsapp一样。 whatsapp页面上有光标,但是键盘是关闭的
  • 知道我仍然认为这是糟糕的 UX 设计,我建议将计时器放置一秒半左右,以便将 TextField 的提示文本切换为管道字符“|”或为空。

标签: flutter dart keyboard


【解决方案1】:

您可以使用SystemChannels 访问公开系统文本输入控件的通道。构建 TextField 后,对其调用 TextInput.hide 方法以隐藏键盘。

这样做的一个简单示例是:

Widget build(BuildContext context) {
  Future.delayed(const Duration(), () => SystemChannels.textInput.invokeMethod('TextInput.hide'));

  return Scaffold(
    body: TextField(
      autofocus: true,
    ),
  );
}

如果您不喜欢在此处使用Future,这可能会有所帮助: Flutter: Run method on Widget build complete

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-31
    • 2022-01-21
    • 2023-01-08
    • 2018-07-17
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多