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.
- 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.
- Durum çubuğu içerik rengi: Durum çubuğu içeriğinin rengini (ör. saat ve simgeler) kontrol eder.
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);