在 Android 中,如果 Activity 可见onResume
叫做。等效方法是什么onResume
in Flutter?
我需要知道我的小部件屏幕何时可见,以便我可以基于此自动播放视频。我可能会转到另一个小部件屏幕,当我回来时它应该会自动播放。
我的方法是播放视频didUpdateWidget
but didUpdateWidget
即使小部件屏幕不可见,每次也会被调用。
Note:我不是问关于didChangeAppLifecycleState
from WidgetsBindingObserver
因为它给出了onResume
等等应用程序生命周期的回调,而不是特定的小部件屏幕。
所有的问题都解决了。
从小部件树(materialapp 小部件)的根部将观察者放在导航器上。
如果您需要更多解释,请点击此链接:https://api.flutter.dev/flutter/widgets/RouteObserver-class.html https://api.flutter.dev/flutter/widgets/RouteObserver-class.html
我已经在我的项目中实现了,它工作得很好@Sp4Rx
// Register the RouteObserver as a navigation observer.
final RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();
void main() {
runApp(MaterialApp(
home: Container(),
navigatorObservers: [routeObserver],
));
}
class RouteAwareWidget extends StatefulWidget {
State<RouteAwareWidget> createState() => RouteAwareWidgetState();
}
// Implement RouteAware in a widget's state and subscribe it to
// the
// RouteObserver.
class RouteAwareWidgetState extends State<RouteAwareWidget> with RouteAware {
@override
void didChangeDependencies() {
super.didChangeDependencies();
routeObserver.subscribe(this, ModalRoute.of(context));
}
@override
void dispose() {
routeObserver.unsubscribe(this);
super.dispose();
}
@override
void didPush() {
// Route was pushed onto navigator and is now topmost route.
}
@override
void didPopNext() {
// Covering route was popped off the navigator.
}
@override
Widget build(BuildContext context) => Container();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)