Android sistem çubukları

Durum çubuğu, altyazı ç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.

Android OS, giriş yöntemleri veya diğer cihaz özellikleriyle etkileşimler için kullanıcı arayüzü tasarlıyor olsanız da sistem çubuklarının belirginliğini hesaba katmanız çok önemlidir.

Şekil 1: Sistem çubuklarının arkasındaki resimler

Çıkarımlar

  • Uygulamanızı tasarlarken sistem çubuklarını ekleyin. Kullanıcı arayüzü güvenli bölgeleri, sistem etkileşimleri, giriş yöntemleri, ekran kesikleri, durum çubukları, altyazı çubukları, gezinme çubukları ve diğer cihaz özelliklerini göz önünde bulundurun.

  • Sistem durumunu ve gezinme çubuklarını şeffaf veya yarı şeffaf tutun ve bu çubukların arkasına, ekranı kenarlara kadar kaplayacak şekilde içerik çizin.

  • Dokunma hareketleri veya sürükleme hedefleri eklemekten kaçının. Bunlar, kenardan kenara ve hareketle gezinme ile çakışır.

    Şekil 2: Sistem hareketi iç içe yerleştirilmeleri. Dokunma hedeflerinizi bu alanların altına yerleştirmekten kaçının

İçeriğinizi sistem çubuklarının arkasına çizme

Kenardan kenara özelliği, Android'in kullanıcılardan gelen yaygın bir istek olan sürükleyici bir deneyim için kullanıcı arayüzünü sistem çubuklarının altına çizmesine olanak tanır.

Uygulamalar, eklemelere tepki vererek içerikteki çakışmalarla ilgili sorunları giderebilir. İçeriğiniz, Android OS kullanıcı arayüzünün durum çubuğu, altyazı çubuğu, gezinme çubuğu gibi bölümleriyle veya ekran kesikleri gibi fiziksel cihaz özellikleriyle çakışmamasını sağlamak için ne kadar boşluk bırakılması gerektiğini belirtir. Oluşturma ve görünümlerde kenardan kenara desteği ve içe yerleştirilen öğeleri nasıl destekleyeceğiniz hakkında bilgi edinin.

Kenardan kenara kullanım alanları için tasarım yaparken aşağıdaki iç içe yerleştirilme türlerine dikkat edin:

  • Sistem çubuğu iç içe yerleştirilmeleri, hem dokunulabilir hem de sistem çubukları tarafından görsel olarak gizlenmemesi gereken kullanıcı arayüzleri için geçerlidir.
  • Sistem hareketi iç içe yerleştirilmeleri, sistem tarafından kullanılan ve uygulamanızdan öncelikli olan hareketle gezinme alanları için geçerlidir.
  • Ekran kesme içi eklemeleri, kamera kesiği gibi ekran yüzeyine uzanan cihaz alanları için geçerlidir.

Durum çubuğu

Android'de durum çubuğunda bildirim simgelerinin yanı sıra sistem simgeleri de bulunur. Kullanıcı, bildirim gölgesine erişmek için durum çubuğunu aşağı çekerek durum çubuğuyla etkileşim kurar.

Şekil 3: Üst uygulama çubuğunun üstünde vurgulanmış durum çubuğu bölgesi

Durum çubuğu simgeleri, bağlama, günün saatine, kullanıcı tarafından ayarlanan tercihlere veya temalara ve diğer parametrelere bağlı olarak farklı görünebilir. Durum çubuğu simgesi stilini aşağıdaki örneklerde gösterildiği gibi ayarlayabilirsiniz.

Şekil 4: Açık ve koyu temadaki durum çubuğu simgeleri.

Uygulama içeriğinizin ekranın tamamını kapladığından emin olun. Aşağıdaki örnekte gösterildiği gibi, durum ve gezinme çubuklarını uçtan uca içerikle şeffaf veya yarı saydam tutun.

Şekil 5: Saydam sistem çubuklarına sahip uçtan uca bir uygulama, ekran alanından en iyi şekilde yararlanarak içeriğinizin öne çıkmasını sağlar.

Android 15'te uçtan uca ekran, sistem çubuklarının varsayılan olarak şeffaf veya yarı saydam olması için zorunlu kılınmıştır. Android'in önceki sürümlerinde sistem çubuklarını opak bırakmayın.

Şekil 6: İçeriğinizi geliştirmek için ekranı kenarlara kadar kullanın. Saydam olmayan sistem çubukları olmamalıdır.

Bildirim geldiğinde genellikle durum çubuğunda bir simge görünür. Bu, kullanıcıya bildirim çekmecesinde görülecek bir şey olduğunu gösterir. Bu, kanalınızı temsil eden uygulama simgeniz veya sembolünüz olabilir. Bildirim tasarımı başlıklı makaleyi inceleyin.

Şekil 7: Durum çubuğundaki bildirim simgesi

Durum çubuğu stilini ayarlama

enableEdgeToEdge() çağrısını yaparak durum çubuğunun tüm sürümlerde şeffaf olduğundan emin olun. Kontrast için durum çubuğu simgesi renklerini güncellediğinizden emin olun. Örneğin, koyu renkli simgeler oluşturmak için:

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Android, kullanıcıların geri, ana sayfa ve genel bakış kontrollerini kullanarak gezinmeyi kontrol etmelerine olanak tanır:

  • Geri tuşu doğrudan önceki görünüme geri döner.
  • Ana ekran, uygulamadan çıkıp cihazın ana ekranına geçer.
  • Genel bakış, uygulamaların açık olduğunu ve yakın zamanda açıldığını gösterir.

Kullanıcılar, hareketle gezinme (önerilen) ve üç düğmeli gezinme gibi çeşitli gezinme çubuğu yapılandırmaları arasından seçim yapabilir. En iyi deneyimi sunmak için birden fazla gezinme türüne yer verin.

Hareketle gezinme

Android 10'da (API düzeyi 29) kullanıma sunulan hareketle gezinme, önerilen gezinme türüdür ancak kullanıcının tercihini geçersiz kılamazsınız. Hareketle gezinme, geri, ana sayfa ve genel bakış için düğmeler kullanmaz. Bunun yerine, kolaylık sağlamak için tek bir hareket çubuğu gösterir. Kullanıcılar geri gitmek için ekranın sol veya sağ kenarından, ana ekrana gitmek için de ekranın altından yukarı kaydırarak etkileşim kurar. Parmağınızı yukarı kaydırıp basılı tutarak genel bakışı açabilirsiniz.

Hareketle gezinme, mobil cihazlar ve daha büyük ekranlar için daha ölçeklenebilir bir gezinme modelidir. En iyi kullanıcı deneyimini sunmak için hareketle gezinme özelliğini göz önünde bulundurarak şunları yapın:

  • Kenardan kenara içerikleri destekler.
  • Hareketli gezinme iç içe yerleştirilmiş öğelerinin altına etkileşim veya dokunma hedefi eklemekten kaçının.

Hareketle gezinme özelliğini uygulama hakkında bilgi edinin.

Şekil 8: Hareket imleci gezinme çubuğu

Üç düğmeli gezinme

Üç düğmeli gezinme, geri, ana ekran ve genel bakış için üç düğme sağlar.

Şekil 9: Üç düğmeli gezinme çubuğu

Diğer gezinme çubuğu varyasyonları

Android sürümüne ve cihaza bağlı olarak kullanıcılarınız diğer gezinme çubuğu yapılandırmalarını kullanabilir. Örneğin, iki düğmeli gezinme modunda ana ekran ve geri gitme için iki düğme bulunur.

Şekil 10: İki düğmeli gezinme çubuğu

Gezinme stili ayarlama

enableEdgeToEdge() işlevini çağırarak gezinme çubuğunun tüm sürümlerde şeffaf veya yarı saydam olduğundan emin olun.

Android 15 ve sonraki sürümlerin yüklü olduğu cihazlarda veya enableEdgeToEdge() çağrıldıktan sonra hareketle gezinme varsayılan olarak şeffaftır. Üç düğmeli gezinme, varsayılan olarak yarı saydamdır veya büyük ekranlı cihazlarda görev çubuğu içindeyse opaktır.

Uygulamanızda alt uygulama çubuğu varsa alt uygulama çubuğunun, üç düğmeli gezinmede yarı saydam bir perde uygulanmadan sistemin gezinme çubuğunun altında çizilebilmesi için Window.setNavigationBarContrastEnforced() değerini false olarak ayarlayın.

Android, hareketli gezinme modunda ve düğme modlarında kullanıcı arayüzünün görsel korumasını yönetir.

  • Hareketle gezinme modu: Sistem, dinamik renk uyumlulaştırması uygular. Bu modda, sistem çubuklarının içerikleri arkalarındaki içeriğe göre renk değiştirir. Aşağıdaki örnekte, gezinme çubuğundaki tutamak açık renkli içeriğin üzerine yerleştirilirse koyu renge, tam tersi durumda ise açık renge döner.

    Şekil 11: Dinamik renk uyarlaması
  • Düğme modları: Sistem, düğme gezinme çubuklarının arkasına yarı saydam bir perde uygular. Bu perde, Window.setNavigationBarContrastEnforced() değerini false olarak ayarlayarak kaldırılabilir.

    Şekil 12: Sistem çubuklarının arkasındaki içeriğe göre rengini değiştirdiği dinamik renk uyarlaması

Klavye ve gezinme

Şekil 13: Gezinme çubukları içeren dokunmatik klavye

Her gezinme türü, kullanıcının klavyeyi kapatma veya hatta klavye türünü değiştirme gibi işlemleri gerçekleştirmesine olanak tanımak için ekran klavyesine uygun şekilde yanıt verir. Klavye geçişinin sorunsuz olmasını sağlamak için WindowInsetsAnimationCompat simgesini kullanın. Bu simge, uygulamanın geçişini ekranın alt kısmından yukarı ve aşağı kayan klavyeyle senkronize eder.

Ekran kesimleri

Ekran kesimi, bazı cihazlarda ön kamera sensörlerine yer açmak için ekran yüzeyine uzanan bir alandır. Ekrandaki kesitler üreticiye göre değişiklik gösterebilir.

Şekil 14: Ekran kesikleri örnekleri

Ekran kesikleri, kullanıcı arayüzünüzün görünümünü etkileyebilir. Android 15 (API düzeyi 35) veya sonraki sürümleri hedefleyen uygulamalar varsayılan olarak ekran kesimi bölgesine çizilir. Uygulamalar, önemli kullanıcı arayüzünün ekran kesme noktasının altına çizilmemesi için ekran kesme noktası iç içe yerleştirilmelerini işlemelidir. Ekran kesimlerini destekleme hakkında bilgi edinin.

Yoğun içerik modu

Şekil 15: Yatay mobil cihazda tam ekran deneyimini gösteren tam sayfa modu

Tam ekran deneyime ihtiyacınız olduğunda (ör. kullanıcı film izlerken) sistem çubuklarını gizleyebilirsiniz. Kullanıcı, sistem kontrollerinde gezinmek veya sistem kontrolleriyle etkileşimde bulunmak için sistem çubuklarını ve kullanıcı arayüzünü göstermek üzere dokunmaya devam edebilmelidir. Tam ekran modları için tasarım yapma hakkında daha fazla bilgi edinin veya tam ekran modunda sistem çubuklarını gizleme hakkında bilgi edinin.