animation - Flutter TextField 自动对焦不适用于 SlideTransition
问题描述
我有一个带有单个 TextField(自动对焦:true)和一个 FlatButton 的屏幕。当我不使用 SlideTransition 时,TextField 会在访问屏幕时正确获得焦点。但是,当我只是将路线更改为使用 SlideTransition 制作漂亮的动画到第二页时,TextField 不会自动聚焦。
示例:
自动对焦适用于:
Navigator.push(context, MaterialPageRoute(builder: (context) => SecondPage()),);
自动对焦不适用于(本文中的 EnterExitRoute 类):
Navigator.push(context,EnterExitRoute(exitPage: FirstPage(), enterPage: SecondPage()));
使用 SecondPage 的动画时,如何让 TextField 自动对焦?
解决方案
我终于使用 FocusNode 完成了这项工作。我在发布之前尝试过 FocusNode。让它工作的不同之处在于 initState 中没有这些行,如示例所示:
myFocusNode = FocusNode();
FocusScope.of(context).requestFocus(myFocusNode);
initState 没有被调用。我正在使用 StatefulWidget。我不确定为什么 initState 没有被调用。也许有人可以提供一个理由?
推荐阅读
- json - JSON decoding in swift to a struct
- python - Python find duplicate adjacent sequences in list
- node.js - unable to run snyk via node using bash wrapper script
- python - Django MRSS add item into item - using syndication feed framework
- python - I got an error in appending a dataframe row from one to another dataframe
- javascript - I am creating a like and dislike button, but it toggles the like count for ALL posts on the page, instead of the post being liked
- json - 如何替换 BigQuery 中 JSON 中特定键的数据?
- amazon-web-services - 如何使用非对称密钥加密 aws ec2 卷?
- matplotlib - 有没有办法改变 maplotlib IndexLocator 中的偏移量?
- swift - SwiftUI WebView ( WKWebView ) 自动高度