Yoğunluktan bağımsız pikseller (dp) ve ölçeklendirilebilir pikseller (sp), Android cihazları oluşturan çok çeşitli ekran yoğunluklarına, boyut sınıflarına, form faktörlerine ve en-boy oranlarına eşit şekilde yanıt veren düzenler oluşturmak ve yazı tiplerini sunmak için gereklidir.
Çıkarımlar
- Temel ızgara kullanıyorsanız 4 ve 8 ölçülerini kullanın.
- Piksel yerine dp ve sp birimlerinde özellikler ekleyin.
- Tüm gruplar için bit eşlem (raster) grafikleri dışa aktarın.
- Farklı boyut sınıflarını, çözünürlükleri ve en boy oranlarını göz önünde bulundurarak duyarlı bir yaklaşımla tasarım yapın.
- Yoğunluktan bağımsız pikseller (dp): Yoğunluktan bağımsız pikseller, herhangi bir ekranda tek tip boyutlara sahip olacak şekilde ölçeklenen esnek birimlerdir. Ekranın fiziksel yoğunluğuna dayanır. Bu birimler, 1 dp'nin yaklaşık olarak 1 px'e eşit olduğu 160 dpi (inç başına nokta) ekranla ilgilidir.
- Ölçeklenebilir pikseller (sp): Ölçeklenebilir pikseller, dp ile aynı işlevi görür ancak yazı tipleri için kullanılır. Bir sp'nin varsayılan değeri, bir dp'nin varsayılan değeriyle aynıdır. Android sistemi, kullanılacak gerçek yazı tipi boyutunu cihaza ve kullanıcının cihaz ayarlarında belirlediği tercihe göre hesaplar.
Bu ölçü birimleri arasındaki temel fark, ölçeklenebilir piksellerin kullanıcının yazı tipi ayarlarını korumasıdır. Erişilebilirlik için daha büyük metin ayarlarını kullanan kullanıcılar, yazı tipi boyutlarının metin boyutu tercihlerine uygun olduğunu görür. Oluşturma bölümünde yazı tipi boyutunu nasıl değiştireceğinizi öğrenin.
Android, bu birimleri cihaz ve çözünürlük aralığında ölçeklendirme ve çeviri yapmaya yardımcı olmak için kullanır.
Yoğunluk grupları
Yüksek yoğunluklu ekranlarda, düşük yoğunluklu ekranlara kıyasla inç başına daha fazla piksel bulunur. Bu nedenle, aynı piksel boyutlarına sahip kullanıcı arayüzü öğeleri düşük yoğunluklu ekranlarda daha büyük, yüksek yoğunluklu ekranlarda ise daha küçük görünür. Bu nedenle, ölçümleri piksel cinsinden belirtmemelisiniz.
Android, ekran yoğunluğu aralıklarını "gruplar" halinde toplar ve cihazınıza optimum öğe grubunu sunmak için bu grupları kullanır. En çok tercih edilen yoğunluk grupları mdpi, hdpi, xhdpi, xxhdpi ve xxxhdpi'dir (nodpi ve anydpi, cihaz çözünürlüğüne göre ölçeklenmeyen bir grubu ifade eder ve genellikle drawable vektörler için kullanılır). Bunların her biri uygulamanızın bir kaynak dosyasına karşılık gelir.
dp'yi hesaplamak için:
dp = (piksel cinsinden genişlik * 160) / ekran yoğunluğu
Temel çizgi ızgarası
Temel bir ızgarayla oluşturmak, kullanıcı arayüzünüzde tutarlı aralık ve hizalama oluşturmaya yardımcı olur. Android kullanıcı arayüzü, düzen, bileşenler ve aralık için 8 dp'lik bir ızgara kullanır.
Simgeler, türler ve bileşenlerdeki bazı öğeler gibi daha küçük öğeler en iyi şekilde 4 dp'lik bir ızgaraya hizalanır.
Düzen ızgaraları
Izgaralar, tüm düzenlerin temelini oluşturur. İçeriğin hiyerarşisini, miktarını ve hatta mesajını göz önünde bulundurun.
Hiyerarşik tablo
İçeriğin hiyerarşisi veya önemi göz önünde bulundurularak hiyerarşik bir ızgara oluşturulur. Gazete düzenini düşünün: Düzenin büyük bölümünde tutarlı bir şekilde en önemli haber yer alırken daha küçük bir sütunda geçmiş makaleler gösterilir.

Ekran boyutlarına uyarlanırken hiyerarşik bir düzen yeniden akabilir, yeniden boyutlandırılabilir ve ızgara hücrelerini gösterebilir.
Modüler ızgara
Modüler ızgaralar, tutarlı sütunlar ve satırlar halinde oluşturulur. Böylece, içeriklerin hizalanacağı dikdörtgen bir ızgara sistemi oluşturulur. Modüler ızgaralar, kart galerisi gibi benzer öneme ve boyuta sahip içerikler için uygundur.

Uyarlanabilir modüler ızgara, daha fazla ızgara hücresi ekleyebilir ve içindeki içerik farklı ızgara hücrelerine tutturulabilir veya sarmalanabilir. Izgara hücreleri, boyutlar arasında tutarlı kalabilir ya da içeriğin ihtiyaçlarına göre yeniden boyutlandırılabilir.
Sütun ızgarası
Sütunlar, gövde alanındaki içeriği bölerek düzene dikey tanım sağlamak için bir ızgara yapısı oluşturur. İçerik, sütun içeren ekran alanlarına yerleştirilir. İçeriği hizalamak için temel bir ızgarayla hizalayın ancak esnek boyutlandırmayı koruyun.

Sütun ızgarası oluşturma ve Düzenle ilgili temel bilgiler bölümünde içerik uygulama hakkında temel bilgileri edinin. Sütun ızgarası, sütun boyutlarını ve sütun sayısını ekran boyutuna göre gerektiği şekilde değiştirerek farklı form faktörlerine uyum sağlayabilir. Ayrıca, içeriğin de ölçeklenmesine olanak tanır.
Boyut sınıfları
Pencere boyutu sınıfları, duyarlı ve uyarlanabilir uygulama düzenleri tasarlamanıza, geliştirmenize ve test etmenize yardımcı olan, görüntü alanı için belirli bir görüşe göre belirlenmiş kesme noktalarıdır. Android, pencere boyutu sınıflarını 3'e ayırır: Compact, Medium ve Expanded. Pencere boyutu sınıfları hakkında daha fazla bilgi edinin.
En boy oranları
En boy oranı, bir öğenin genişliğinin yüksekliğine oranıdır. En-boy oranları genişlik:yükseklik şeklinde yazılır.
Düzeninizde tutarlılığı korumak için resimler, yüzeyler ve ekran boyutu gibi öğelerde tutarlı bir en boy oranı kullanın.
Kullanıcı arayüzünüzde kullanmak için aşağıdaki en boy oranları önerilir:
- 16:9
- 3:2
- 4:3
- 1:1
- 3:4
- 2:3