Uçtan uca ekran, uygulamanızın kullanıcı arayüzünü sistem çubuklarının (durum çubuğu, başlık çubuğu ve gezinme çubuğu) arkasına çizerek daha sürükleyici bir kullanıcı deneyimi sunar. Android 15 (API düzeyi 35) veya sonraki sürümleri çalıştıran hedef cihazları hedefliyorsanız varsayılan olarak uçtan uca ekran zorunlu kılınır.
İçeriği tüm Android sürümlerinde uçtan uca doğru şekilde görüntülemek için aşağıdaki kurulum adımlarını uygulayın. Bu adımlar uygulanmazsa uygulamanız, sistem çubuklarının arkasında düz renkler gösterebilir veya içeriğini dokunmatik klavye (IME) geçişleriyle senkronize bir şekilde animasyonlu olarak göstermeyebilir.
Android becerileri
GitHub'da gösterUçtan uca ekran desteği ekleme
android skills add edge-to-edge1. Uçtan uca ekranı etkinleştirin
Önceki Android sürümlerinde uçtan uca ekranı etkinleştirmek için Activity.onCreate() yönteminizde enableEdgeToEdge() işlevini çağırın:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() // ... }
enableEdgeToEdge(), varsayılan olarak sistem çubuklarını şeffaf hale getirir. Ancak 3 düğmeli gezinme modunda, daha iyi kontrast için gezinme çubuğuna yarı şeffaf bir perde uygular. Sistem simgelerinin ve örtünün rengi, sistemin açık veya koyu temasına uyum sağlar.
2. windowSoftInputMode'u yapılandırma
Etkinliğinizin AndroidManifest.xml girişinde android:windowSoftInputMode="adjustResize" değerini ayarlayın. Bu ayar, uygulamanızın IME eklerini almasına olanak tanır. Böylece, dokunmatik klavye göründüğünde veya kaybolduğunda düzeninizi dolgu ile ayarlayabilirsiniz.
<!-- In your AndroidManifest.xml file: -->
<activity
android:name=".ui.MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize"
android:theme="@style/Theme.MyApplication"
android:exported="true">
...
</activity>
3. İç kısımları kullanarak çakışmaları yönetme
Uçtan uca etkinleştirildiğinde, uygulamanızın bazı içerikleri ve kullanıcı arayüzü öğeleri sistem çubuklarının arkasında çizilebilir. Kritik veya etkileşimli öğelerin sistem çubukları tarafından gizlenmesini ya da sistem hareketleriyle çakışmasını önlemek için iç kısımları işlemeniz gerekir.
Ekranın sistem kullanıcı arayüzü veya sistem hareketleriyle kesişen kısımları, iç kısımlar olarak adlandırılır. Uçtan uca ekran için dikkate alınması gereken başlıca iç metin türleri şunlardır:
- Sistem çubuğu ekleri: Sistem çubuklarının gösterildiği alanları temsil eder. Kullanıcı arayüzünün sistem çubukları tarafından engellenmesini önlemek için bunları kullanın.
- Ekran kesimi iç kısımları: Cihaz ekranında fiziksel bir kesimin (ör. kamera çentiği) bulunduğu alanları temsil eder.
Compose'da, cetvelleri, dolgu değiştiricileri veya iç metin boyutu değiştiricileri kullanarak iç metinleri işleyebilirsiniz. Ayrıntılı bilgi için Pencere iç metinleri hakkında başlıklı makaleyi inceleyin.
İleri düzey konular
Daha gelişmiş uçtan uca kullanım alanları için aşağıdakileri göz önünde bulundurun.
Yoğun içerik modu
Video veya harita gibi bazı içerikler, sistem çubuklarının gizlendiği tam sürükleyici deneyimden yararlanır. Sistem çubuklarını gizlemek için WindowInsetsControllerCompat kullanabilirsiniz:
val windowInsetsController = WindowCompat.getInsetsController(window, window.decorView) // Hide the system bars. windowInsetsController.hide(WindowInsetsCompat.Type.systemBars()) // Show the system bars. windowInsetsController.show(WindowInsetsCompat.Type.systemBars())
Sistem çubuğu renkleri ve simgeleri
Uçtan uca geçiş yaptığınızda uygulamanızın arka planı sistem çubuklarının arkasında görünebilir. Bu nedenle, daha iyi kontrast için sistem çubuğu simge renklerini ayarlamanız gerekebilir.
Durum çubuğu simgelerini açık veya koyu olarak değiştirmek için WindowInsetsControllerCompat kullanın:
// Set status bar icons to dark. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = true // Set status bar icons to light. WindowCompat.getInsetsController(window, window.decorView) .isAppearanceLightStatusBars = false
Sistem çubuğu koruması
enableEdgeToEdge(), varsayılan olarak şeffaf veya yarı şeffaf sistem çubukları sağlasa da bunları özelleştirmeniz gerekebilir. Şeffaf ve yarı şeffaf çubukların ne zaman kullanılacağına karar vermek için Android sistem çubukları tasarım kılavuzuna ve Uçtan uca tasarım kılavuzuna bakın.
3 düğmeli gezinme çubuğunu yarı saydam yerine tamamen şeffaf yapmak için kontrast zorunluluğunu devre dışı bırakabilirsiniz:
window.isNavigationBarContrastEnforced = false
Daha fazla bilgi için Sistem çubuğu koruması hakkında başlıklı makaleyi inceleyin.