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 yeterli olmalıdır. Bu kılavuzda, uygulamanızın enableEdgeToEdge kullanmadan uçtan uca etkinleştirmesi gerekiyorsa bu işlemi nasıl yapacağınız açıklanmaktadır.

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

Uygulamanız, uçtan uca düzende çalışırken alttaki içeriğin görünür olması için sistem çubuklarının renklerini değiştirmelidir. 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ı ele alır.

  • 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ı uygular. Aşağıdaki örnekte, gezinme çubuğundaki tutma yeri açık renkli içeriğin üzerindeyken koyu renge, koyu renkli içeriğin üzerindeyken ise açık renge dönüşüyor.
1.Şekil Hareketle gezinme modunda renk değişiklikleri.
  • Düğme modu: Sistem, sistem çubuklarının arkasına yarı saydam bir örtü (API düzeyi 29 veya sonraki sürümler için) ya da şeffaf bir sistem çubuğu (API düzeyi 28 veya önceki sürümler için) uygular.
Yarı saydam sistem çubuklarını gösteren bir resim
Şekil 2. Sistem çubuklarının arkasında yarı saydam kumaş.
  • Durum çubuğu içerik rengi: Durum çubuğu içeriğinin (ör. saat ve simgeler) rengini kontrol eder.
Durum çubuğu içerik rengini gösteren bir resim
3. şekil. 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çeriğinin 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'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);