Middle
È possibile fare in modo che l'attività non venga ricreata durante la rotazione dello schermo?
sobes.tech AI
Risposta dell'AI
Sì, è possibile. Ci sono due metodi principali.
-
Dichiarare
configChangesnel manifesto: InAndroidManifest.xml, per<activity>, aggiungere l'attributoandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />In questo caso, l'attività non viene ricreata, ma viene chiamato il metodo
onConfigurationChanged(), che deve essere sovrascritto per gestire i cambiamenti di configurazione.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Gestire i cambiamenti, ad esempio: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Cambio in modalità landscape // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Cambio in modalità portrait // } } -
Fissare l'orientamento dello schermo: È possibile impostare un'orientamento fisso per l'attività, aggiungendo l'attributo
android:screenOrientationnel manifesto.<activity android:name=".MainActivity" android:screenOrientation="portrait" />o
<activity android:name=".MainActivity" android:screenOrientation="landscape" />In questo caso, l'orientamento dell'attività non cambierà indipendentemente dalla rotazione del dispositivo, e non verrà ricreata.