【发布时间】:2018-06-29 10:34:46
【问题描述】:
我正在开发一个基于设备方向更改部分布局的应用程序。我正在使用
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
将我的活动设置为根据设备传感器自动旋转。我的 onConfigurationsChanged 方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (controllerView != null) {
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
// Load Landscape Layout
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
// Load Portrait Layout
}
}
}
AndroidManifest:
<activity
android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
问题:
onConfigurationsChanged 每次设备方向更改时都可以正常工作,但问题是,假设设备处于横向模式并且我锁定了屏幕,然后当我再次解锁屏幕时,如果我将设备打开以启用横向,设备现在会自动切换到纵向模式模式,屏幕旋转,但 onConfigurationsChanged() 没有调用,因此纵向模式布局以横向模式显示。
【问题讨论】:
标签: android orientation lockscreen