Middle
Lehetséges, hogy az aktivitás ne újra legyen létrehozva a képernyő forgatásakor?
sobes.tech MI
Válasz az MI-től
Igen, ez lehetséges. Két fő módszer létezik.
-
A
configChangesdeklarálása a manifestben: AAndroidManifest.xml-ben, az<activity>-hez adjuk hozzá azandroid:configChanges="orientation|screenSize"attribútumot.<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />Ebben az esetben az aktivitás nem újra létrehozott, hanem a
onConfigurationChanged()metódus hívódik meg, amit felül kell írni a konfigurációs változások kezeléséhez.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // A változások kezelése, például: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Átváltás fekvő módra // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Átváltás álló módra // } } -
A képernyő orientációjának rögzítése: Beállítható fix orientáció az aktivitás számára, a
android:screenOrientationattribútum hozzáadásával a manifestben.<activity android:name=".MainActivity" android:screenOrientation="portrait" />vagy
<activity android:name=".MainActivity" android:screenOrientation="landscape" />Ebben az esetben az aktivitás orientációja nem változik a készülék forgatásával, és nem fog újra létrejönni.