【问题标题】:Flutter TextField autofocus not working with SlideTransitionFlutter TextField 自动对焦不适用于 SlideTransition
【发布时间】:2021-01-31 20:18:44
【问题描述】:

我有一个带有单个 TextField(自动对焦:true)和一个 FlatButton 的屏幕。当我不使用 SlideTransition 时,TextField 会在访问屏幕时正确获得焦点。但是,当我只是将路线更改为使用 SlideTransition 制作漂亮的动画到第二页时,TextField 不会自动聚焦。

示例:
自动对焦适用于:

Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage()),);

自动对焦不适用于(来自此 article 的 EnterExitRoute 类):

Navigator.push(context,EnterExitRoute(exitPage: FirstPage(), enterPage: SecondPage()));

如何在对 SecondPage 使用动画时让 TextField 自动对焦?

【问题讨论】:

    标签: animation textfield navigator autofocus


    【解决方案1】:

    我终于使用 FocusNode 完成了这项工作。我在发布之前尝试过 FocusNode。使其工作的不同之处在于 initState 中没有这些行,如示例所示:

      myFocusNode = FocusNode();
      FocusScope.of(context).requestFocus(myFocusNode);
    

    initState 没有被调用。我正在使用 StatefulWidget。我不确定为什么 initState 没有被调用。也许有人可以提供一个理由?

    【讨论】:

      猜你喜欢
      • 2020-10-14
      • 2018-01-23
      • 1970-01-01
      • 1970-01-01
      • 2017-03-01
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多