Middle
Je možné zajistit, aby se aktivita při otáčení obrazovky znovu nevytvářela?
sobes.tech AI
Odpověď od AI
Ano, je to možné. Existují dva hlavní způsoby.
-
Deklarace
configChangesv manifestu: VAndroidManifest.xml, pro<activity>, přidejte atributandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />V tomto případě se aktivita nepřekreslí, místo toho je volána metoda
onConfigurationChanged(), kterou je třeba přepsat pro správu změn konfigurace.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Zpracování změn, například: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Přepnutí na režim na šířku // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Přepnutí na režim na výšku // } } -
Zafixovat orientaci obrazovky: Je možné nastavit pevnou orientaci pro aktivitu, přidáním atributu
android:screenOrientationdo manifestu.<activity android:name=".MainActivity" android:screenOrientation="portrait" />nebo
<activity android:name=".MainActivity" android:screenOrientation="landscape" />V tomto případě se orientace aktivity nezmění bez ohledu na otáčení zařízení, a aktivita se nebude znovu vytvářet.