Yayınlanma tarihi: 28 Şubat 2025
Uçtan uca, Android sistem çubuklarının arkasında çizim yaparak uygulamaların ekranın tüm genişliğini ve yüksekliğini kaplamasına olanak tanıyan bir Android özelliğidir.
Chrome 135'ten önce Android'de Chrome, kenardan kenara çizim yapmıyordu. Bu rehberde, bu değişikliğin web siteleri üzerindeki etkisi ve bir geliştirici olarak bu değişikliği benimsemek için neler yapabileceğiniz açıklanmaktadır.
Her yerde barlar
Android'de, işletim sisteminin kendisi tarafından sağlanan sistem çubukları bulunur.
Durum çubuğu, başlık çubuğu ve gezinme çubuğu birlikte sistem çubukları olarak adlandırılır. Pil seviyesi, saat ve bildirim uyarıları gibi önemli bilgileri gösterir ve her yerden doğrudan cihaz etkileşimi sağlar.
Ekranın üst kısmında, bildirim simgeleri ve sistem simgelerini içeren durum çubuğu bulunur.
Ekranın alt kısmında, geri, ana sayfa ve genel bakış kontrollerini kullanarak gezinmeyi kontrol etmenizi sağlayan gezinme çubuğu bulunur. Bu, klasik üç düğmeli gezinme veya modern hareketle gezinme çubuğu olabilir.
Android sistem çubuklarına ek olarak Chrome'da, kaydırdıkça dinamik olarak genişleyen ve daralan bir adres çubuğu bulunur.
Chrome, kenardan kenara uzanır
Bir web sitesini ziyaret ettiğinizde bu web sitesi, (düzen) görünüm alanı olarak bilinen bir dikdörtgen içinde gösterilir.
Android'de Chrome 135'ten önceki sürümlerde bu düzen görünüm alanı, üstteki durum çubuğu ile alttaki hareketle gezinme çubuğu arasında çizilir. Chrome'un adres çubuğunun varlığı (veya yokluğu) görüntü alanının boyutunu etkileyebilir ancak görüntü alanı hiçbir zaman üstteki sistem çubuğuna veya alttaki hareketle gezinme çubuğuna genişlemez.
Chrome 135'ten itibaren görüntü alanının Android'in hareketle gezinme çubuğuna kadar genişlemesine izin verilir. Bu davranış, uçtan uca olarak tanımlanır.
Uçtan uca ekran olmadan Chrome davranışı
Aşağıdaki kayıtta, Android'de uçtan uca desteklenmeyen Chrome'un adres çubuğu (üstte), sayfa kaydırıldıkça dinamik olarak kayboluyor. Ancak Android'e özgü üst durum çubuğu ve alttaki Android'e özgü gezinme çubuğu yerinde sabit kalır.
Burada, Chrome'un adres çubuğu geri çekilirken veya genişlerken düzen görüntü alanının boyutu değişiyor.
Uçtan uca ekranla Chrome davranışı
Chrome 135'ten itibaren Chrome, görüntü alanını hareketle gezinme çubuğu alanına genişleterek web içeriğini cihazın alt kenarına kadar çizebilir.
"Çene" ile uçtan uca dinamik
Chrome, varsayılan olarak uçtan uca görünümde, hareketle gezinme çubuğu alanının üzerinde "çene" olarak bilinen yeni bir dinamik alt çubuk gösterir. Chrome adres çubuğu gibi, bu çene de kaydırmaya başladığınızda kaybolur ve görüntü alanının boyutunu etkiler.
Uçtan uca destekli Android'de Chrome'un aşağıdaki kaydında, sayfa aşağı kaydırıldıkça hem Chrome adres çubuğu hem de çene dinamik olarak geri çekiliyor. Bu durum, görüntü alanının genişlemesine ve web içeriğinin cihazın alt kenarına kadar çizilmesine neden olur.
Bu çene davranışı, Chrome 135'ten itibaren yeni varsayılan Chrome davranışıdır.
Varsayılan olarak uçtan uca gitme (kullanıcı izniyle)
Uçtan uca tasarlanmış web siteleri, viewport meta etiketini düzenleyerek bunu belirtebilir. Etkinleştirildiğinde, çene görünür hâle gelmeden görüntü alanı varsayılan olarak alt kenara kadar uzar.
Bir sayfa, viewport meta etiketi ve viewport-fit anahtarını kullanarak uçtan uca desteği olduğunu belirtebilir.
Uçtan uca özelliğini etkinleştirmek için viewport-fit değerini cover olarak ayarlayın.
<meta name="viewport" content="width=device-width, initial-scale=1, viewpo>rt-fit=cover" /
viewport-fit değişkeninin çeşitli değerleri hakkında daha fazla bilgi edinin.
Hareketle gezinme çubuğu tarafından engellenebilecek içeriklerle ilgilenme
Uçtan uca modda, hareketle gezinme çubuğu tarafından engellenebilecek içerikleri dikkate almanız gerekir.
Çoğu durumda, alt çene kendi kendine kenara çekildiği için herhangi bir işlem yapmanız gerekmez. Kullanıcılar, web sitenizdeki tüm içeriklere daha önce olduğu gibi erişmeye devam edebilir.
Ancak varsayılan olarak uçtan uca gitmeyi etkinleştirirseniz veya görünüm alanının en altında konumlandırılmış bir öğeniz varsa bu içeriğin kapatılma ihtimalini göz önünde bulundurmanız gerekebilir.
.stuck-to-the-bottom-of-the-viewport {
position: fixed;
bottom: 0;
}
Çene mevcutken içerik başlangıçta kullanıcılar tarafından erişilebilir durumda olur ancak çene kaybolduğunda Android'in gezinme çubuğu tarafından engellenir.
Bu sorunu azaltmak için güvenli alan eklerini kullanarak etkilenen öğeleri her zaman Android'e özgü alttaki hareketle gezinme çubuğunun üzerinde konumlandırın veya arka planlarının bu alana kadar uzamasını sağlayın.
Güvenli alan iç kısımları
Güvenli alan iç kısımları, dört ortam değişkenidir. Bu değişkenler, dikdörtgeni görüntü alanı kenarından üst, sağ, alt ve sol iç kısımlarıyla tanımlar.
Bu dört değer birleşerek, içeriğin Android hareketli gezinme çubuğu gibi öğeler tarafından engellenmeyeceği şekilde yerleştirilebileceği güvenli alan dikdörtgenini oluşturur.
Güvenli alanın alt ekini kullanma
Görüntü alanının en altında konumlandırılan öğelerin, hareketle gezinme çubuğunun altına yerleştirilmesini önlemek için safe-area-inset-bottom özelliğinin değeri olarak bottom kullanın. safe-area-inset-bottom tarafından döndürülen değer, çene hareket ettikçe dinamik olarak güncellenir. Böylece, altta konumlandırılmış öğeler Android'in hareketle gezinme çubuğunun üzerinde kalır.
.stuck-to-the-bottom-of-the-viewport {
position: fixed;
bottom: env(safe-area-inset-bottom, 0px);
}
bottom özelliğiyle alttaki güvenli alan içini kullanan, altta konumlandırılmış bir öğeye sahip web sitesi resimleri. Çene göründüğünde çubuk, Android'in hareketle gezinme çubuğunun üzerinde yer alır. Çene kaybolduğunda öğe de çenenin üzerinde durur.Resimlerde de görebileceğiniz gibi sonuç henüz mükemmel değil: Çene kenara çekildiğinde kalan sayfa içeriği, hareketle gezinme çubuğu alanında görünür hale geliyor. Bunun nedeni, bu durumda görüntü alanının hareketle gezinme çubuğu alanına kadar uzanmasıdır.
İçeriğin, alttan sabitlenmiş içeriğin altında boyanmasını önlemek için en çok tercih edilen bir yaklaşım, padding-bottom değerini safe-area-inset-bottom olarak ayarlamaktır. Bu sayede, çene gizlendiğinde altta sabitlenmiş öğe otomatik olarak büyür. Bu yöntem işe yarasa da çene kenara çekilirken düzen aşırı bellek kullanımına neden olduğundan önerilmez.
padding değerini safe-area-inset değerine ayarlamayın.
.stuck-to-the-bottom-of-the-viewport {
position: fixed;
bottom: 0;
padding-bottom: env(safe-area-inset-bottom, 0px); /* 🛑 Don't do this, as it causes layout thrashing. */
}
Güvenli alanın alt ekini ve güvenli alanın alt maksimum ekini kullanma
Bunun yerine, safe-area-inset-bottom ve safe-area-max-inset-bottom'yi birlikte kullanmanız önerilir. Çene hareket ettikçe dinamik olarak güncellenen safe-area-inset-bottom değerinin aksine safe-area-max-inset-bottom, safe-area-inset-bottom değerinin maksimum değerini temsil eder.
Alttan sabitlenmiş öğeyi ön tarafta büyütmek için bu safe-area-max-inset-bottom öğesini kullanın ve öğeyi çenenin arkasına gelecek şekilde aşağı çekmek için safe-area-inset-bottom ile birleştirin.
safe-area-max-inset-bottom simgesini safe-area-inset-bottom ile birlikte kullanma
:root {
--safe-area-max-inset-bottom: env(safe-area-max-inset-bottom, 36px);
--bottom-bar-height: 50px;
}
.stuck-to-the-bottom-of-the-viewport {
position: fixed;
bottom: 0;
height: var(--bottom-bar-height);
padding-bottom: var(--safe-area-max-inset-bottom);
bottom: calc(env(safe-area-inset-bottom, 0px) - var(--safe-area-max-inset-bottom));
}
body {
padding-bottom: calc(var(--bottom-bar-height) + var(--safe-area-max-inset-bottom));
}
Görsel sonuç, padding-bottom: env(safe-area-inset-bottom, 0px); yaklaşımıyla aynıdır ancak çok daha iyi performans gösterir. Çene uzaklaştıkça yalnızca bottom için hesaplanan değerin değişmesi gerektiğinden düzen karmaşası oluşmaz.
Chrome 135'ten önce uçtan uca özelliği deneme
Kenardan kenara özelliğini herkese açık kararlı sürümü yayınlanmadan önce denemek için chrome://flags üzerinden birkaç Chrome özellik flag'ini etkinleştirmeniz gerekir:
EdgeToEdgeBottomChin(İsteğe bağlı olarak "Enabled Debug" olarak ayarlarsanız diğer kullanıcı arayüzlerinden daha net şekilde ayırt etmek için çenenin yarısı pembe renkte gösterilir.)DrawCutOutEdgeToEdgeBottomBrowserControlsRefactor("Etkin" olarak ayarlamayın, "Etkinleştirilen Dispatch yOffset" olarak ayarlayın)DynamicSafeAreaInsetsDynamicSafeAreaInsetsOnScrollEdgeToEdgeWebOptInDrawKeyNativeEdgeToEdgeEdgeToEdgeSafeAreaConstraint("Etkin" olarak ayarlamayın, "Kaydırılabilir Varyasyon Etkin" olarak ayarlayın)
Aşağıdaki işaretlerin etkinleştirilmediğinden emin olun:
DrawNativeEdgeToEdgeEdgeToEdgeEverywhere
Chrome'u iki kez yeniden başlatın.
Geri bildirimlerinizi bizimle paylaşın
Chrome ve uçtan uca uygulamasıyla ilgili geri bildiriminiz varsa lütfen "UI > Browser > Mobile > EdgeToEdge" bileşeninde bir Chromium hatası göndererek bizimle iletişime geçin. Geri bildiriminiz bizim için değerli.