Μπορεί να γίνει ώστε η δραστηριότητα να μην αναδημιουργείται κατά την περιστροφή της οθόνης;
sobes.tech AI
Απάντηση από AI
Ναι, είναι δυνατόν. Υπάρχουν δύο βασικοί τρόποι.
-
Δήλωση
configChangesστο αρχείο manifest: ΣτοAndroidManifest.xml, για το<activity>, προσθέστε το χαρακτηριστικόandroid:configChanges="orientation|screenSize".<activity android:name=".MainActivity" android:configChanges="orientation|screenSize" />Σε αυτήν την περίπτωση, η δραστηριότητα δεν αναδημιουργείται, αλλά καλείται η μέθοδος
onConfigurationChanged(), η οποία πρέπει να υπερισχύσει για να διαχειριστεί τις αλλαγές διαμόρφωσης.override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) // Διαχείριση αλλαγών, π.χ.: // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { // // Μετάβαση σε οριζόντια λειτουργία // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { // // Μετάβαση σε κατακόρυφη λειτουργία // } } -
Ορισμός σταθερής προσανατολισμού οθόνης: Μπορείτε να ορίσετε σταθερό προσανατολισμό για τη δραστηριότητα, προσθέτοντας το χαρακτηριστικό
android:screenOrientationστο αρχείο manifest.<activity android:name=".MainActivity" android:screenOrientation="portrait" />ή
<activity android:name=".MainActivity" android:screenOrientation="landscape" />Σε αυτήν την περίπτωση, ο προσανατολισμός της δραστηριότητας δεν θα αλλάξει ανεξάρτητα από την περιστροφή της συσκευής, και η δραστηριότητα δεν θα αναδημιουργηθεί.