我正在使用Flutter应用程序,需要弹出屏幕。我尝试了initState()
方法,但是没有运气。initState()
第一次上课时被调用。
onResume()
Flutter中是否有等效的Android 方法?
有任何想法吗?
您可以使用WidgetsBindingObserver
和检查AppLifeCycleState
类似以下示例:
class YourWidgetState extends Statewith WidgetsBindingObserver { @override void initState() { WidgetsBinding.instance.addObserver(this); super.initState(); } @override void dispose() { WidgetsBinding.instance.removeObserver(this); super.dispose(); } @override void didChangeAppLifecycleState(AppLifecycleState state) { if (state == AppLifecycleState.resumed) { //do your stuff } } }
请记住,每次您打开应用程序或进入后台并返回到应用程序时,它将调用。(如果您的小部件处于活动状态)
如果您在第一次加载Widget时只想要一个侦听器,则可以使用进行侦听addPostFrameCallback
,例如以下示例:
class YourWidgetState extends State{ _onLayoutDone(_) { //do your stuff } @override void initState() { WidgetsBinding.instance.addPostFrameCallback(_onLayoutDone); super.initState(); } }
信息:https : //docs.flutter.io/flutter/widgets/WidgetsBindingObserver-class.html