我正在开发一个只支持两个方向的应用程序,纵向和反向纵向,所以我sensorPortrait
在清单中写了“”,它运行良好。
问题是,我想为这两个方向使用不同的布局。
启用sensorPortrait
会禁用 " onConfigurationChange
" 调用。
我用:
orientationEventListener = new OrientationEventListener(this) {
@Override
public void onOrientationChanged(int i) {
int newOrientation = getScreenOrientation();
if (newOrientation != orientation) {
orientation = newOrientation;
if (newOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
...
setContentView(R.layout.main);
} else if (newOrientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT) {
...
setContentView(R.layout.main_reverse_portrait);
}
}
}
};
orientationEventListener.enable();
问题是这个代码是在改变方向之后被调用的,所以当用户首先旋转手机时,他们会看到之前的布局,由 Android 自动旋转,然后是正确的布局。它看起来无法接受,你知道如何解决它吗?