Middle
Vai ir iespējams nodrošināt, ka aktivitāte netiek atkārtoti izveidota ekrāna pagriešanas laikā?
sobes.tech AI
Atbilde no AI
Jā, tas ir iespējams. Ir divi galvenie veidi.
-
Deklarēt
configChangesmanifestā:AndroidManifest.xmlfailā, priekš<activity>, pievienojiet atribūtuandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />Šādā gadījumā aktivitāte netiek pārveidota, bet tiek izsaukta metode
onConfigurationChanged(), kuru nepieciešams pārdefinēt konfigurācijas izmaiņu apstrādei.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Apstrādāt izmaiņas, piemēram: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Pāreja uz horizontālo režīmu // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Pāreja uz portretu // } } -
Fiksēt ekrāna orientāciju: Ir iespējams iestatīt fiksētu orientāciju aktivitātei, pievienojot atribūtu
android:screenOrientationmanifestā.<activity android:name=".MainActivity" android:screenOrientation="portrait" />vai
<activity android:name=".MainActivity" android:screenOrientation="landscape" />Šādā gadījumā aktivitātes orientācija nemainīsies neatkarīgi no ierīces apgriešanas, un tā netiks pārveidota.