Middle
Kas on võimalik tagada, et tegevus ei loo uuesti ekraani pööramisel?
sobes.tech AI
Vastus AI-lt
Jah, see on võimalik. On kaks peamist meetodit.
-
Deklareerige
configChangesmanifestis:AndroidManifest.xmlfailis,<activity>jaoks, lisage atribuutandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />Sellisel juhul ei loo tegevus uut, vaid kutsutakse välja meetod
onConfigurationChanged(), mida tuleb üle kirjutada konfiguratsioonimuutuste haldamiseks.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Muutuste haldamine, näiteks: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Liikumine horisontaalsesse režiimi // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Liikumine vertikaalsesse režiimi // } } -
Ekraani orientatsiooni fikseerimine: Võite määrata fikseeritud orientatsiooni tegevusele, lisades manifesti atribuut
android:screenOrientation.<activity android:name=".MainActivity" android:screenOrientation="portrait" />või
<activity android:name=".MainActivity" android:screenOrientation="landscape" />Sellisel juhul ei muutu tegevuse orientatsioon, sõltumata seadme pööramisest, ning tegevus ei taaskäivitu.