Yoğunluktan bağımsız pikseller (dp) ve ölçeklenebilir pikseller (sp), düzen oluşturmak ve 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 yazı tipleri sunmak için gereklidir.
Çalmalar
- Referans aralığı kullanıyorsanız 4 ve 8 gibi ölçülere bağlı kalın.
- Özellikleri piksel yerine dp ve sp cinsinden belirtin.
- Tüm paketler için bit eşlem/kafe grafiklerini 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 zihniyetle tasarım yapın.
- Yoğunluktan bağımsız pikseller (dp): Yoğunluktan bağımsız pikseller, herhangi bir ekranda aynı boyutlara sahip olacak şekilde ölçeklenen esnek birimlerdir. Ekranın fiziksel yoğunluğuna dayanıyorlar. Bu birimler, 1 dp'nin yaklaşık 1 piksele eşit olduğu 160 dpi (inç başına nokta) ekranla ilişkilidir.
- Ö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, dp için varsayılan değerle aynıdır. Android sistemi, kullanılacak gerçek yazı tipi boyutunu cihaza ve Android cihazının Ayarlar uygulamasında belirlenen kullanıcı tercihine göre hesaplar.
Bu ölçüm 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ına sahip olan kullanıcılar, yazı tipi boyutlarının kendi metin boyutu tercihleriyle eşleştiğini görür. Compose'da yazı tipi boyutunu nasıl değiştireceğinizi öğrenin.
Android, bu birimleri kullanarak çeşitli cihazlar ve çözünürlüklerde ölçeklendirilebilir ve çeviri yapabilir.
Yoğunluk paketleri
Yüksek yoğunluklu ekranlarda, düşük yoğunluklu ekranlarda inç başına daha fazla piksel vardır. Sonuç olarak, aynı piksel boyutlarına sahip kullanıcı arayüzü öğeleri, düşük yoğunluklu ekranlarda daha büyük, yüksek yoğunluklu ekranlarda daha küçük görünür. Bu nedenle ölçümleri piksel cinsinden beyan etmemelisiniz.
Android, ekran yoğunluklarını "paketler" halinde gruplandırır ve bunları cihazınıza ideal öğe grubunu sunmak için kullanır. En yaygın olarak kullanılan yoğunluk paketleri: mdpi
, hdpi
, xhdpi
, xxhdpi
ve xxxhdpi
(nodpi
ve anydpi
, cihaz çözünürlüğüne göre ölçeklenmeyen, genellikle vektör çekilebilir öğeleri için kullanılan bir paket anlamına gelir) her biri uygulamanızın kaynak dosyasına karşılık gelir.
dp'yi hesaplamak için:
dp = (piksel cinsinden genişlik * 160) / ekran yoğunluğu
Izgaralar
Referans ızgara
Temel bir ızgarayla derleme, kullanıcı arayüzünüz genelinde tutarlı boşluk ve hizalama oluşturmanıza yardımcı olur. Android kullanıcı arayüzü; düzen, bileşenler ve boşluk için 8 dp'lik bir ızgara kullanır.
Simgeler, tür gibi küçük öğelerin ve bileşenlerin içindeki bazı öğelerin 4 dp'lik bir ızgaraya göre hizalanması en iyisidir.
Sütun tablosu
Sütunlar, içeriği gövde alanı içinde bölerek bir düzene dikey tanım sağlamak için bir ızgara yapısı oluşturur. İçerik, ekranda sütunlar içeren alanlara yerleştirilir. İçeriği hizalamak için alt kısımdaki bir ızgarayla hizalayın ancak boyutu esnek tutmalısınız. Düzen ile ilgili temel bilgiler sayfasından sütun ızgarası ayarlama ve içerik uygulama ile ilgili temel bilgileri öğrenin.
Form faktörlerinde esnek düzenler oluşturmayla ilgili ayrıntılar için Malzeme 3 Standart düzenler sayfasına göz atın.
Beden sınıfları
Pencere boyutu sınıfları, duyarlı ve uyarlanabilir uygulama düzenlerini tasarlamanıza, geliştirmenize ve test etmenize yardımcı olan özenli görüntü alanı ayrılma noktalarıdır. Android, pencere boyutu sınıflarını üçe ayırır: Kompakt, Orta ve Genişletilmiş. Farklı ekran boyutlarını destekleme 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 resim, yüzey ve ekran boyutu gibi öğelerde tutarlı bir en boy oranı kullanın.
Kullanıcı arayüzünüzde aşağıdaki en boy oranlarını kullanmanız önerilir:
- 16:9
- 3:2
- 4:3
- 1:1
- 3:4
- 2:3