Middle
Este posibil ca activitatea să nu fie recreată la rotirea ecranului?
sobes.tech AI
Răspuns de la AI
Da, este posibil. Există două metode principale.
-
Declarați
configChangesîn manifest: ÎnAndroidManifest.xml, pentru<activity>, adăugați atributulandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />În acest caz, activitatea nu se recreează, ci se apelează metoda
onConfigurationChanged(), care trebuie suprascrisă pentru a gestiona schimbările de configurație.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Gestionați schimbările, de exemplu: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Trecere în modul peisaj // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Trecere în modul portret // } } -
Fixați orientarea ecranului: Se poate seta o orientare fixă pentru activitate, adăugând atributul
android:screenOrientationîn manifest.<activity android:name=".MainActivity" android:screenOrientation="portrait" />sau
<activity android:name=".MainActivity" android:screenOrientation="landscape" />În acest caz, orientarea activității nu se va schimba indiferent de rotirea dispozitivului, iar activitatea nu va fi recreată.