縦向きと逆向きの縦向きの 2 つの方向のみをサポートするアプリを開発しているのでsensorPortrait
、マニフェストに " " を記述しましたが、うまく動作します。
問題は、これら 2 つの方向に異なるレイアウトを使用したいということです。
有効にすると、" " 呼び出しが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 によって自動的に回転され、次に正しいレイアウトが表示されます。容認できないように見えますが、修正方法を知っていますか?