Middle
Je možné zabezpečiť, aby sa aktivita pri otáčaní obrazovky neznova vytvárala?
sobes.tech AI
Odpoveď od AI
Áno, je to možné. Existujú dva hlavné spôsoby.
-
Deklarovať
configChangesv manifeste: VAndroidManifest.xml, pre<activity>, pridajte atribútandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />V tomto prípade sa aktivita neprekré, ale volá sa metóda
onConfigurationChanged(), ktorú je potrebné prepísať na spracovanie zmien konfigurácie.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Spracovanie zmien, napríklad: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Prechod na režim na šírku // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Prechod na režim na výšku // } } -
Fixovať orientáciu obrazovky: Je možné nastaviť pevný orientačný režim pre aktivitu, pridaním atribútu
android:screenOrientationdo manifestu.<activity android:name=".MainActivity" android:screenOrientation="portrait" />alebo
<activity android:name=".MainActivity" android:screenOrientation="landscape" />V tomto prípade sa orientácia aktivity nezmení bez ohľadu na otáčanie zariadenia, a aktivita nebude znovu vytvorená.