Sobes.tech
Middle

Ekranni aylantirishda faoliyatni qayta yaratmaslik mumkinmi?

sobes.tech AI

AIdan javob

Ha, mumkin. Ikki asosiy usul mavjud.

  1. configChanges ni manifestda e'lon qilish: AndroidManifest.xml da, <activity> uchun, android:configChanges="orientation|screenSize" atributini qo'shing.

    <activity
        android:name=".MainActivity"
        android:configChanges="orientation|screenSize" />
    

    Bu holda, faoliyat qayta yaratilmaydi, balki onConfigurationChanged() metodi chaqiriladi va konfiguratsiya o'zgarishlarini boshqarish uchun qayta yozilishi kerak.

    override fun onConfigurationChanged(newConfig: Configuration) {
        super.onConfigurationChanged(newConfig)
        // O'zgarishlarni boshqarish, masalan:
        // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        //     // Gorizontal holatga o'tish
        // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        //     // Vertikal holatga o'tish
        // }
    }
    
  2. Ekran orientatsiyasini belgilash: Faoliyat uchun belgilangan orientatsiyani o'rnatish mumkin, android:screenOrientation atributini manifestga qo'shish orqali.

    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait" />
    

    yoki

    <activity  
        android:name=".MainActivity"  
        android:screenOrientation="landscape" />
    

    Bu holda, faoliyat orientatsiyasi qurilmani aylantirishdan qat'i nazar o'zgarmaydi va qayta yaratilmaydi.