Ist es möglich, die Aktivität so zu gestalten, dass sie beim Drehen des Bildschirms nicht neu erstellt wird?
sobes.tech KI
Antwort von AI
Ja, das ist möglich. Es gibt zwei Hauptmethoden.
-
Deklarieren Sie
configChangesim Manifest: InAndroidManifest.xml, fügen Sie für<activity>das Attributandroid:configChanges="orientation|screenSize"hinzu.<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />In diesem Fall wird die Aktivität nicht neu erstellt, sondern die Methode
onConfigurationChanged()aufgerufen, die überschrieben werden muss, um die Änderungen der Konfiguration zu behandeln.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Änderungen behandeln, z.B.: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Wechsel in Querformat // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Wechsel in Hochformat // } } -
Bildschirmorientierung fixieren: Es ist möglich, eine feste Orientierung für die Aktivität festzulegen, indem das Attribut
android:screenOrientationim Manifest hinzugefügt wird.<activity android:name=".MainActivity" android:screenOrientation="portrait" />oder
<activity android:name=".MainActivity" android:screenOrientation="landscape" />In diesem Fall ändert sich die Orientierung der Aktivität nicht, unabhängig von der Drehung des Geräts, und die Aktivität wird nicht neu erstellt.