Uçtan uca ekranı manuel olarak ayarlama

enableEdgeToEdge yöntemini çağırarak uygulamanızda uçtan uca ekranı etkinleştirebilirsiniz. Bu, çoğu uygulama için yeterlidir. Bu kılavuzda, uygulamanızın enableEdgeToEdge kullanmadan kenardan kenara özelliğini etkinleştirmesi gerekiyorsa bu özelliğin nasıl etkinleştirileceği açıklanmaktadır.

Uygulamanızı tam ekranda düzenleyin

Uygulamanızı sistem çubuklarının arkasına yerleştirmek için aşağıdaki kod örneğinde gösterildiği gibi 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

Kenardan kenara 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 modunda ve düğme modunda kullanıcı arayüzünün tüm görsel korumasını üstlenir.

  • Hareketle gezinme modu: Sistem, sistem çubuklarının içeriklerinin arkasındaki içeriğe göre renk değiştirdiği dinamik renk uyarlaması uygular. Aşağıdaki örnekte, gezinme çubuğundaki tutamak açık renkli içeriğin üzerindeyken koyu renge, koyu renkli içeriğin üzerindeyken ise açık 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) arkasına yarı saydam bir perde veya API düzeyi 28 veya önceki sürümler için şeffaf bir sistem çubuğu uygular.
Saydam sistem çubuklarını gösteren bir resim
Şekil 2. Sistem çubuklarının arkasında yarı saydam çerçeve.
  • Durum çubuğu içeriği rengi: Saat ve simgeler gibi durum çubuğu içeriğinin rengini kontrol eder.
Durum çubuğu içerik rengini gösteren bir resim
Şekil 3. Durum çubuğu içerik rengi.

Gezinme çubuğunun rengini ayarlamak ve isteğe bağlı olarak durum çubuğunu şeffaf, durum çubuğu içerik rengini ise koyu olarak ayarlamak 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>

WindowInsetsController API'yi doğrudan kullanabilirsiniz ancak mümkün olduğunda 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 kullanın. Gezinme menüsünün ön plan rengini açık bir renge değiştirmek için true, varsayılan renge döndürmek 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);