class _HomeState extends State<StatefulWidget> with WidgetsBindingObserver{
@override
void initState() {
super.initState();
///注册观察者
WidgetsBinding.instance.addObserver(this);
}
@override
void didChangeMetrics() {
super.didChangeMetrics();
/// 屏幕变化时执行
}
@override
void dispose() {
super.dispose();
///解绑观察者
WidgetsBinding.instance.removeObserver(this);
}
}
state 实现WidgetsBindingObserver,并在initState时注册进WidgetsBinding,在屏幕变化时会执行didChangeMetrics方法,可以在此方法内写对应的刷新代码,比如重新获取屏幕宽高,刷新对应的布局