Uçtan uca ekranı manuel olarak ayarlama

enableEdgeToEdge işlevinin çağrılması, gerçekten geriye dönük uyumlu olmak için gereken mantığı kapsar ve bu nedenle uçtan uca ekran ayarlamak için önerilen yöntemdir. enableEdgeToEdge kullanarak uçtan uca gitmenin modern yolu için bu kılavuz yerine Compose ve Görünümler belgelerine bakın.

Uygulamanızın uçtan uca ekranı manuel olarak ayarlaması gerekiyorsa (önerilmese de) aşağıdaki adımları uygulayabilirsiniz:

  1. Şu numaraya telefon et: WindowCompat.setDecorFitsSystemWindows(window, false).
  2. Sistem çubuklarını şeffaf olarak ayarlayın.
  3. Dolu alanları işleme

Uygulamanızı tam ekran olarak düzenleme

Uygulamanızı sistem çubuklarının arkasında düzenlemek için WindowCompat.setDecorFitsSystemWindows(window, false) kullanın. Aşağıdaki kod örneğinde bu durum gösterilmektedir:

Kotlin

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  WindowCompat.setDecorFitsSystemWindows(window, false)
}

Java

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  WindowCompat.setDecorFitsSystemWindows(getWindow(), false);
}

Sistem çubuklarının rengini değiştirme

Android 14 ve önceki sürümlerde uçtan uca düzen manuel olarak oluşturulurken uygulamanızın sistem çubuklarını da şeffaf hale getirmesi gerekir.

Durum ve gezinme çubuğunun rengini şeffaf olarak ayarlamak ve durum çubuğu simge rengini değiştirmek için themes.xml dosyasını düzenleyebilirsiniz.

<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
  <item name="android:navigationBarColor">
     @android:color/transparent
  </item>

  <!-- Optional: set to transparent if your app is drawing behind the status bar. -->
  <item name="android:statusBarColor">
     @android:color/transparent
  </item>

  <!-- Optional: set for a light status bar with dark content. -->
  <item name="android:windowLightStatusBar">
    true
  </item>
</style>

Durum çubuğunun içerik rengini kontrol etmek için theme.xml yerine WindowInsetsControllerCompat API'sini kullanabilirsiniz. Bunu yapmak için setAppearanceLightNavigationBars() işlevini kullanın. Gezinmenin ön plan rengini açık bir renge değiştirmek için true, varsayılan renge dönmek için false değerini iletin.

Kotlin

val windowInsetsController =
      ViewCompat.getWindowInsetsController(window.decorView)

windowInsetsController?.isAppearanceLightNavigationBars = true

Java

WindowInsetsControllerCompat windowInsetsController =
      ViewCompat.getWindowInsetsController(getWindow().getDecorView());
if (windowInsetsController == null) {
    return;
}

windowInsetsController.setAppearanceLightNavigationBars(true);

Yerleşimleri işleme

Son olarak, uygulamanız, önemli kullanıcı arayüzünün sistem çubuklarından ve ekran kesiminden etkilenmemesi için iç kısımları işlemelidir. İç kısımları nasıl işleyeceğinizi öğrenmek için Compose ve Görünümler belgelerini inceleyin.