Ekran uyumluluğuna genel bakış

Android, farklı ekran boyutlarına ve piksel yoğunluklarına sahip çeşitli cihazlarda çalışır. Sistem, kullanıcı arayüzünüzü farklı ekranlara uyarlamak için temel ölçekleme ve yeniden boyutlandırma işlemlerini gerçekleştirir ancak kullanıcı arayüzünüzün her ekran türüne daha iyi uyum sağlamasına yardımcı olacak yöntemler vardır.

Şekil 1. Android, farklı ekranlara ve piksel yoğunluklarına sahip farklı cihazlarda çalışır.

Bu sayfada, uygulamanızın uygun şekilde uyum sağlamasına yardımcı olmak için Android'deki özelliklere genel bir bakış sunulmaktadır. Uygulamanızı farklı ekran varyasyonları için nasıl oluşturacağınızla ilgili daha ayrıntılı talimatlar için aşağıdaki belgelere bakın:

Ekran boyutları

Ekran boyutu, uygulamanızın kullanıcı arayüzü için görünür alandır. Uygulamanızın bildiği ekran boyutu, cihaz ekranının gerçek boyutu değildir. Uygulamalar, ekran yönünü, gezinme çubuğu gibi sistem süslemelerini ve kullanıcının çoklu pencere modunu etkinleştirmesi gibi pencere yapılandırması değişikliklerini dikkate almalıdır.

Esnek düzenler

Android, varsayılan olarak uygulama düzeninizi geçerli ekrana sığacak şekilde yeniden boyutlandırır. Düzeninizin, ekran boyutundaki küçük değişimlerde iyi bir şekilde yeniden boyutlandırılmasına yardımcı olmak için düzeninizi esnekliği göz önünde bulundurarak uygulayın. Kullanıcı arayüzü bileşenlerinizin konumunu ve boyutlarını koda gömmeyin. Bunun yerine, görüntüleme boyutlarının genişletilmesine izin verin ve üst görünüme veya diğer kardeş görünümlere göre görünüm konumlarını belirtin. Böylece, düzen büyüdükçe amaçladığınız sıra ve göreli boyutlar aynı kalır.

Esnek düzenler hakkında daha fazla bilgi edinmek için Duyarlı tasarım bölümüne bakın.

Alternatif düzenler

Esnek bir düzen önemlidir, ancak farklı cihazlardaki mevcut alana göre kullanıcı deneyimini optimize eden farklı düzenler de tasarlamanız gerekir. Android, sistemin çalışma zamanında mevcut cihazın ekran boyutuna göre uyguladığı alternatif düzen dosyaları sağlamanıza olanak tanır.

Şekil 2. Aynı uygulama, farklı ekran boyutları için farklı bir düzen kullanır.

Alternatif düzenler oluşturmayı öğrenmek için Uyarlanabilir tasarım konusuna bakın.

Uzatılabilir resimler

Düzeninizin geçerli ekrana sığacak şekilde genişletilmesi gerektiğinden, düzen görünümlerinden herhangi birine eklediğiniz bit eşlemler de önemlidir. Bununla birlikte, sıradan bir bit eşlemin rastgele yönlerde genişletilmesi, garip ölçeklendirme yapılarına ve bozuk görüntülere yol açabilir.

Android bu sorunu çözmek için dokuz yamalık bit eşlemleri destekler. Bu bit eşlemlerde, genişletilebilen küçük piksel bölgeleri belirtilirken resmin geri kalanı ölçeklenmeden kalır.

Dokuz yamalı bit eşlemler hakkında daha fazla bilgi edinmek için NinePatch çekilebilir öğeleri bölümüne bakın.

Piksel yoğunlukları

Piksel yoğunluğu, ekranın fiziksel bir alanındaki piksel sayısıdır. Bu boyut, dpi (inç başına nokta sayısı) olarak adlandırılır. Bu değer, ekrandaki toplam piksel sayısı olan ekran çözünürlüğünden farklıdır.

Şekil 3. Aynı boyutta ancak farklı piksel yoğunluklarına sahip iki cihazın abartılı bir şekilde gösterilmesi.

Yoğunluk bağımsızlığı

Uygulamanız, Şekil 3'te gösterildiği gibi, farklı piksel yoğunluklarına sahip ekranlarda görüntülendiğinde kullanıcı arayüzü tasarımının fiziksel boyutunu (kullanıcının bakış açısından) koruduğunda"yoğunluktan bağımsızlığa" ulaşır. Yoğunluk bağımsızlığı korumak önemlidir, çünkü bu olmadığında düğme gibi bir kullanıcı arayüzü öğesi düşük yoğunluklu ekranda daha büyük, yüksek yoğunluklu ekranda ise daha küçük görünebilir.

Android, piksel (px) yerine kullandığınız ölçü birimi olarak yoğunluktan bağımsız pikseli (dp veya dip) sağlayarak yoğunluk bağımsızlığına ulaşmanıza yardımcı olur.

Yoğunluktan bağımsız pikseller hakkında daha fazla bilgi edinmek için Yoğunluktan bağımsız pikselleri kullanma bölümüne bakın.

Alternatif bit eşlemler

Resimlerinizin tüm ekranlarda en iyi şekilde görünmesini sağlamak için her ekran yoğunluğuna uygun alternatif bit eşlemler sağlayın. Uygulamanız yalnızca düşük yoğunluklu ekranlar için bit eşlemler sağlıyorsa Android, resimlerin ekranda aynı fiziksel alanı kaplaması için yüksek yoğunluklu bir ekranda bu tür bit eşlemleri ölçeklendirir. Bu durum, bit eşlemlerde görünür ölçeklendirme yapılarına neden olabilir. Bu nedenle, uygulamanız daha yüksek bir çözünürlükte alternatif bit eşlemler içermelidir.

Alternatif bit eşlemlerin nasıl sağlanacağını öğrenmek için Alternatif bit eşlemler sağlama bölümüne bakın.

Vektör grafikleri

Simgeler gibi basit resim türlerinde, vektör grafikleri kullanarak her yoğunluk için ayrı görüntüler oluşturmaktan kaçınabilirsiniz. Vektör grafikler, çizimi pikseller yerine geometrik çizgi yollarıyla tanımladığından, ölçeklendirme kusurları olmadan herhangi bir boyutta çizilebilir.

Vektör grafiklerini kullanma hakkında daha fazla bilgi edinmek için Vektör grafiklerini tercih etme başlıklı yardım makalesine bakın.

Wear OS, TV, Arabalar ve ChromeOS

Yukarıdaki öneriler tüm Android form faktörleri için geçerlidir. Ancak Wear OS, Android TV, Android Auto, Android Automotive OS veya ChromeOS cihazlar için uygulama oluşturmak isterseniz daha fazla çalışmanız gerekir.

Bu cihaz türlerinin her birinin, uygulamanızın uyması gereken kendi kullanıcı etkileşimi modeli vardır. Bazı durumlarda (ör. Wear OS), uygulamanızın kullanıcı deneyimini yeniden düşünmeniz ve bu cihaz için özelleştirilmiş bir uygulama oluşturmanız gerekir. Öte yandan, Google Pixelbook gibi ChromeOS cihazları desteklemek için, klavye veya fare etkileşimini ve daha büyük bir ekranı desteklemek üzere mevcut uygulamanızda yalnızca küçük değişiklikler yapmanız gerekebilir.

Bu cihazları desteklemek için aşağıdaki dokümanlara bakın:

Katlanabilir Cihazlar

Katlanabilir cihazlarda genellikle birden fazla ekran bulunur. Bu ekranlar, cihaz katlama işleminin farklı durumlarında etkin hale gelir. Uygulamanızın değişen bu yapılandırmalara uyum sağlaması için bu dokümandaki yönergeleri uygulayın. Ancak, bazı yapılandırmalar alışılmadık en boy oranlarına sahip olabilir. Bu nedenle, uygulamanızın çeşitli cihazlarda nasıl davrandığını test edin.

Şekil 4. Katlayıp açma.

Genellikle çeşitli pencere boyutları için çoklu pencere modunda iyi çalışan bir uygulama, katlanabilir cihazlarda da iyi davranır.

Katlanabilir cihazlar için uygulama geliştirme hakkında daha fazla bilgiyi Katlanabilir cihazlar hakkında bilgi bölümünde bulabilirsiniz.

Ekran uyumsuzluğu

Android çerçevesi ve araçları, uygulamaları tüm ekran yapılandırmalarında kullanılabilir hale getirmek için ihtiyacınız olan her şeyi sağlasa da, uyumsuzluk nedeniyle uygulamanızın bazı ekran yapılandırmalarında kullanılmasını istemediğinize karar verebilirsiniz. Bu durumda, kısıtlanmış ekran desteği beyan edebilirsiniz.