Android platformu, durum çubuğu ve gezinme çubuğu gibi sistem kullanıcı arayüzünü çizmekten sorumludur. Bu sistem kullanıcı arayüzü, kullanıcının hangi uygulamayı kullandığından bağımsız olarak gösterilir.
WindowInsets, uygulamanızın doğru alanda çizim yapmasını ve kullanıcı arayüzünüzün sistem kullanıcı arayüzü tarafından engellenmemesini sağlamak için sistem kullanıcı arayüzü hakkında bilgi sağlar.
Android 14 (API düzeyi 34) ve önceki sürümlerde uygulamanızın kullanıcı arayüzü, varsayılan olarak sistem çubuklarının ve ekran kesintilerinin altına çizilmez.
Android 15 (API düzeyi 35) ve sonraki sürümlerde, uygulamanız SDK 35'i hedeflediğinde sistem çubuklarının ve ekran kesintilerinin altında çizim yapar. Bu sayede daha sorunsuz bir kullanıcı deneyimi sunulur ve uygulamanız, kullanılabilir pencere alanından tam olarak yararlanabilir.
İçeriğin sistem kullanıcı arayüzünün arkasında gösterilmesine uçtan uca kullanım denir. Bu sayfada, farklı ek türleri, uçtan uca ekranı etkinleştirme ve kullanıcı arayüzünüzü canlandırmak için ek API'lerini kullanma ve uygulamanızın içeriğinin sistem kullanıcı arayüzü öğeleri tarafından engellenmediğinden emin olma hakkında bilgi edineceksiniz.
İçerik yerleştirmenin temelleri
Bir uygulama uçtan uca olduğunda önemli içeriklerin ve etkileşimlerin sistem kullanıcı arayüzü tarafından engellenmediğinden emin olmanız gerekir. Örneğin, gezinme çubuğunun arkasına yerleştirilen bir düğmeyi kullanıcı tıklayamayabilir.
Sistem kullanıcı arayüzünün boyutu ve yerleştirildiği yerle ilgili bilgiler, iç kısımlar kullanılarak belirtilir.
Sistem kullanıcı arayüzünün her bölümünde, boyutunu ve yerleştirildiği yeri açıklayan karşılık gelen bir iç metin türü bulunur. Örneğin, durum çubuğu iç kısımları durum çubuğunun boyutunu ve konumunu, gezinme çubuğu iç kısımları ise gezinme çubuğunun boyutunu ve konumunu sağlar. Her içe yerleştirme türü dört piksel boyutundan oluşur: üst, sol, sağ ve alt. Bu boyutlar, sistem kullanıcı arayüzünün uygulama penceresinin ilgili kenarlarından ne kadar uzandığını belirtir. Bu nedenle, bu tür sistem kullanıcı arayüzüyle çakışmayı önlemek için uygulama kullanıcı arayüzü bu miktarda içe yerleştirilmelidir.
Bu yerleşik Android içe yerleştirme türleri WindowInsets aracılığıyla kullanılabilir:
Durum çubuklarını açıklayan iç kısımlar. Bunlar, bildirim simgelerini ve diğer göstergeleri içeren üst sistem kullanıcı arayüzü çubuklarıdır. |
|
Görünür olduklarında durum çubuğu ekleri. Durum çubukları gizliyse (yoğun tam ekran moduna girilmesi nedeniyle) ana durum çubuğu iç kısımları boş olur ancak bu iç kısımlar boş olmaz. |
|
Gezinme çubuklarını açıklayan ekler. Bunlar, cihazın sol, sağ veya alt tarafında bulunan ve görev çubuğunu ya da gezinme simgelerini açıklayan sistem kullanıcı arayüzü çubuklarıdır. Bunlar, kullanıcının tercih ettiği gezinme yöntemine ve görev çubuğuyla etkileşime bağlı olarak çalışma zamanında değişebilir. |
|
Görünür olduklarında gezinme çubuğu ekleri. Gezinme çubukları gizliyse (tam ekran moduna girilmesi nedeniyle) ana gezinme çubuğu ekleri boş olur ancak bu ekler boş olmaz. |
|
Serbest biçimli bir penceredeyse sistem kullanıcı arayüzü pencere dekorasyonunu (ör. üst başlık çubuğu) açıklayan iç metin. |
|
Görünür olduklarında başlık çubuğu ekleri. Altyazı çubukları gizliyse ana altyazı çubuğu ekleri boş olur ancak bu ekler boş olmaz. |
|
Durum çubukları, gezinme çubukları ve başlık çubuğunu içeren sistem çubuğu eklerinin birleşimi. |
|
Görünür olduklarında sistem çubuğu ekleri. Sistem çubukları gizliyse (yoğun tam ekran moduna girilmesi nedeniyle) ana sistem çubuğu iç kısımları boş olur ancak bu iç kısımlar boş olmaz. |
|
Yazılım klavyesinin alt kısımda kapladığı alan miktarını açıklayan ekler. |
|
Yazılım klavyesinin mevcut klavye animasyonundan önce kapladığı alan miktarını açıklayan ekler. |
|
Yazılım klavyesinin mevcut klavye animasyonundan sonra kaplayacağı alan miktarını açıklayan ekler. |
|
Gezinme kullanıcı arayüzü hakkında daha ayrıntılı bilgi veren, "dokunmaların" uygulama tarafından değil, sistem tarafından işleneceği alan miktarını belirten bir iç boşluk türü. Hareketle gezinme özelliğine sahip şeffaf gezinme çubuklarında, bazı uygulama öğelerine sistem gezinme kullanıcı arayüzü üzerinden dokunulabilir. |
|
Görünür olduklarında dokunulabilir öğe ekleri. Dokunulabilir öğeler gizliyse (tam ekran moduna girilmesi nedeniyle) ana dokunulabilir öğe iç kısımları boş olur ancak bu iç kısımlar boş olmaz. |
|
Sistemin gezinme hareketlerini algılayacağı alan miktarını temsil eden iç kısımlar. Uygulamalar, |
|
Her zaman sistem tarafından işlenecek ve |
|
Ekran kesintisiyle (çentik veya iğne deliği) çakışmayı önlemek için gereken boşluk miktarını temsil eden iç kısımlar. |
|
Şelale ekranın kavisli alanlarını temsil eden iç kısımlar. Şelale ekran, ekranın cihazın yan taraflarına doğru kıvrılmaya başladığı kenarlar boyunca kavisli alanlara sahiptir. |
Bu türler, içeriğin gizlenmemesini sağlayan üç "güvenli" içe yerleştirme türüyle özetlenir:
Bu "güvenli" içe yerleştirme türleri, temel platform içe yerleştirmelerine göre içeriği farklı şekillerde korur:
- Sistem kullanıcı arayüzünün altında çizilmemesi gereken içerikleri korumak için
WindowInsets.safeDrawingkullanın. Bu, içe yerleştirmelerin en yaygın kullanımıdır: Sistem kullanıcı arayüzü tarafından gizlenen (kısmen veya tamamen) içeriklerin çizilmesini önlemek. - İçerikleri hareketlerle korumak için
WindowInsets.safeGestureskullanın. Bu sayede sistem hareketlerinin uygulama hareketleriyle (ör. alt sayfalar, bantlar veya oyunlar için olanlar) çakışması önlenir. - İçeriğin görsel olarak ve hareket açısından çakışmadığından emin olmak için
WindowInsets.safeContent'ıWindowInsets.safeDrawingveWindowInsets.safeGestures'ın bir kombinasyonu olarak kullanın.
Sizin için önerilenler
- Not: JavaScript devre dışı bırakıldığında bağlantı metni gösterilir.
- Materyal bileşenleri ve düzenleri
CoordinatorLayoutuygulamasını Compose'a taşıma- Dikkat edilmesi gereken diğer noktalar