アクティビティの現在の状態を失わずに方向を変更したい。
manifest.xml でandroid:configChanges="orientation|keyboardHidden|screenSize"を使用すると、横向きの xml ファイルが読み込まれず、縦向きの main.xml の向きが変更されます。
アクティビティを再開せずに、向きがlandsacpeに変更されたときにlayout-land/main.xmlが必要です。
アクティビティの現在の状態を失わずに方向を変更したい。
manifest.xml でandroid:configChanges="orientation|keyboardHidden|screenSize"を使用すると、横向きの xml ファイルが読み込まれず、縦向きの main.xml の向きが変更されます。
アクティビティを再開せずに、向きがlandsacpeに変更されたときにlayout-land/main.xmlが必要です。
実装する必要があるオリエンテーションが変更されると、アクティビティが再開されますonSaveInstanceState()
。onRestoreInstanceState()
これはあなたを助けることができます
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}
さらなる支援または詳細については、ランタイム変更の処理を使用してください
これである程度は助かります
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
//Do your action
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
//Do your action
}
}