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.
- 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.
- Durum çubuğu içeriği rengi: Saat ve simgeler gibi durum çubuğu içeriğinin rengini kontrol eder.
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);