【发布时间】:2021-01-11 15:24:30
【问题描述】:
当手机旋转 180 度时 onConfigurationChanged 回调不被调用,仅在从纵向更改为横向旋转时有效,反之亦然,但是在横向视图旋转时旋转 180 度但不调用 onConfigurationChanged 回调。如何处理 180 度旋转。
我的清单
<activity
android:name="com.myApp.Activity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"/>
我的活动
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Toast.makeText(this, "rotated", Toast.LENGTH_SHORT).show();
}
【问题讨论】:
-
要以更好和优雅的方式处理生命周期事件,请使用
viewmodels,查看official docs 了解更多信息 -
@rcs 如果您的意思是删除清单中的 android:configChanges 并使用生命周期,则问题是从横向旋转 180 度到反向横向时不会调用相同的生命周期事件
标签: java android android-layout android-activity onconfigurationchanged