Sobes.tech
Middle

Ekran döndürülürken aktivitenin yeniden oluşturulmasını engellemek mümkün mü?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, mümkündür. İki temel yöntem vardır.

  1. configChanges'i manifestte belirtmek: AndroidManifest.xml içinde, <activity> için android:configChanges="orientation|screenSize" özniteliğini ekleyin.

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

    Bu durumda, aktivite yeniden oluşturulmaz, bunun yerine onConfigurationChanged() metodu çağrılır ve yapılandırma değişikliklerini ele almak için geçersiz kılınmalıdır.

    override fun onConfigurationChanged(newConfig: Configuration) {
        super.onConfigurationChanged(newConfig)
        // Değişiklikleri işleme, örneğin:
        // if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
        //     // Yatay moda geçiş
        // } else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
        //     // Dikey moda geçiş
        // }
    }
    
  2. Ekran yönünü sabitlemek: Aktivitenin yönünü sabitlemek mümkündür, manifestte android:screenOrientation özniteliğini ekleyerek.

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

    veya

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

    Bu durumda, aktivitenin yönü cihazın dönüşüne bakılmaksızın değişmeyecek ve yeniden oluşturulmayacaktır.