我正在开发一款Flutter 翼应用程序,需要弹出屏幕.我试了initState()
种方法,但没有成功.当我第一次开课时,initState()
会被调用.
我们有没有类似于Android onResume()
的Flutter 方法?
有什么主意吗?
我正在开发一款Flutter 翼应用程序,需要弹出屏幕.我试了initState()
种方法,但没有成功.当我第一次开课时,initState()
会被调用.
我们有没有类似于Android onResume()
的Flutter 方法?
有什么主意吗?
您可以使用WidgetsBindingObserver
并判断AppLifeCycleState
,如下例所示:
class YourWidgetState extends State<YourWidget> with 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
}
}
}
请记住,每当你打开应用程序或转到后台并返回应用程序时,它都会调用.(如果您的小工具处于活动状态)
如果第一次加载小部件时只需要一个侦听器,可以使用addPostFrameCallback
进行侦听,如以下示例:
class YourWidgetState extends State<YourWidget> {
_onLayoutDone(_) {
//do your stuff
}
@override
void initState() {
WidgetsBinding.instance?.addPostFrameCallback(_onLayoutDone);
super.initState();
}
}
信息:https://docs.flutter.io/flutter/widgets/WidgetsBindingObserver-class.html
更新:安全合规性为空