Middle
Може ли се учинити да активност не се поново креира при окретање екрана?
sobes.tech АИ
Одговор од АИ
Da, to je moguće. Postoje dva osnovna načina.
-
Deklarisati
configChangesu manifestu: UAndroidManifest.xml, za<activity>, dodajte atributandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />U ovom slučaju, aktivnost se ne ponovo kreira, već se poziva metoda
onConfigurationChanged(), koju je potrebno prepisati za upravljanje promenama konfiguracije.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Obrada promena, na primer: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Prelaz u pejzažni režim // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Prelaz u portret režim // } } -
Fiksirati orijentaciju ekrana: Možete postaviti fiksnu orijentaciju za aktivnost, dodavanjem atributa
android:screenOrientationu manifest.<activity android:name=".MainActivity" android:screenOrientation="portrait" />ili
<activity android:name=".MainActivity" android:screenOrientation="landscape" />U ovom slučaju, orijentacija aktivnosti neće se menjati bez obzira na rotaciju uređaja, i aktivnost neće biti ponovo kreirana.