Uçtan uca ekranı manuel olarak ayarlama

enableEdgeToEdge yöntemini çağırarak uygulamanızda uçtan uca görüntülemeyi etkinleştirebilirsiniz. Bu, çoğu uygulama için yeterli olacaktır. Bu kılavuzda, uygulamanızın enableEdgeToEdge kullanmadan yapması gerekiyorsa uçtan uca nasıl etkinleştireceğiniz açıklanmaktadır.

Uygulamanızı tam ekran olarak düzenleme

Aşağıdaki kod örneğinde gösterildiği gibi, uygulamanızı sistem çubuklarının arkasına yerleştirmek için WindowCompat.setDecorFitsSystemWindows(window, false) kullanın:

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

Uçtan uca düzende çalışırken, uygulamanızın altındaki içeriğin görünür olması için sistem çubuklarının renklerini değiştirmesi gerekir. Uygulamanız bu adımı gerçekleştirdikten sonra, sistem hareketle gezinme ve düğme modunda kullanıcı arayüzünün tüm görsel koruma işlemlerini gerçekleştirir.

  • Hareketle gezinme modu: Sistem, sistem çubuklarının içeriğinin arkasındaki içeriğe göre renk değiştirdiği dinamik renk uyarlamasını uygular. Aşağıdaki örnekte, gezinme çubuğundaki tutma yeri açık içeriğin üzerindeyken koyu bir renge, koyu içeriğin üzerindeyse açık bir renge dönüşür.
Şekil 1. Hareketle gezinme modunda renk değişiklikleri.
  • Düğme modu: Sistem, sistem çubuklarının (API düzeyi 29 veya sonraki sürümler için) veya şeffaf bir sistem çubuğunun (API düzeyi 28 veya öncesi için) arkasına yarı saydam bir parça uygular.
Şeffaf sistem çubuklarının gösterildiği resim
Şekil 2. Sistem çubuklarının arkasındaki yarı saydam kumaş.
  • Durum çubuğu içerik rengi: Durum çubuğu içeriğinin rengini (ör. saat ve simgeler) kontrol eder.
Durum çubuğunda içerik rengini gösteren bir resim
Şekil 3. Durum çubuğu içerik rengi.

themes.xml dosyasını düzenleyerek gezinme çubuğunun rengini belirleyebilir ve dilerseniz durum çubuğunu şeffaf, durum çubuğu içerik rengini koyu olarak ayarlayabilirsiniz.

<!-- 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>

WindowInsetsController API'yi doğrudan kullanabilirsiniz ancak mümkünse Destek Kitaplığı'nı WindowInsetsControllerCompat kullanmanızı önemle tavsiye ederiz. Durum çubuğunun içerik rengini kontrol etmek için theme.xml yerine WindowInsetsControllerCompat API'yi kullanabilirsiniz. Bunun için setAppearanceLightNavigationBars() işlevini kullanarak gezinmenin ön plan rengini açık bir renkle değiştirmek için true iletken, varsayılan renge geri dönmek için false işlevini kullanın.

Kotlin

val windowInsetsController =
      ViewCompat.getWindowInsetsController(window.decorView)

windowInsetsController?.isAppearanceLightNavigationBars = true

Java

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

windowInsetsController.setAppearanceLightNavigationBars(true);