Uygulamaların farklı ekran büyüklüklerini destekleyebilmesi, geliştirime süreçlerinde yazılımcıların en fazla efor harcadığı konulardandır.
Android
Geliştirmeye başlamadan önce öğrenmemiz gereken kavramlar;
– Screen Size: Small, Normal(Medium) , Large, ExtraLarge
Çapraz olarak ekran büyüklüğünü ifade eden kavramdır.
– Screen Density: (dpi – Dots Per Inch) Low, Medium, High, ExtraHigh, ExtraExtraHigh, ExtraExtraExtraHigh
Ekranda belirli bir alana düşen piksel sayısıdır.
– Orientation: (Screen’s Aspect Ratio) Ekranın yatay/dikey durumunu açıklamakla birlikte, temelde, ekranın en-boy oranını temsil eder. Bu oran Wide veya Tall olarak ifade edilir
– Resolution: Cihaz ekranındaki toplam piksel sayısıdır (640 x 480 gibi). Sanıldığının aksine farklı ebatlar ile ilgili UI kodlaması yapılırken direkt olarak etkisi olan bir konu değildir. Uygulama geliştirilirken aslında “Screen Size” ve “ Screen Density” konularını etkin olarak kullanmalısınız.
– Density-Independent Piksel: (dp) Sanal bir piksel birimidir. MultiScreen UI yazılırken, UI Nesnesinin Boyut ve Pozisyon bilgisini belirtmek için kullanacağımız “density” den bağımsız olan yöntemdir.
iOS
Benzer bir yaklaşımla formüle edersek;
iOS tarafında Unit’imiz pt (point) ismiyle karşımıza çıkıyor.
Efsanenin en başına doğru baktığımızda “iPhone3” versiyonunu görüyoruz (320×480 in 3,5’’). 1pt değeri iPhone3 ekranında 1px (piksel) olarak karşılık bulmaktadır.
@2x
4 ve 4S versiyonlarına geçildiğinde iki kat büyüyen çöznürlük (640×960) unit oranını da 2 katına çıkarmış ve dolayısıyla 1pt=2px olarak formüle edilmiştir. (@2x)
5/5C/5S cihazlarında çözünürlük yükselse de (640×1136) unit değerinde herheangi bir değişiklik olmadı. 1pt=2px
6 için de yine sadece çöznürlük artmıştır (750×1334) 1pt=2px
@3x
6 Plus, ailenin en büyüğü (1080×1920) için oran yükselir ve 1pt=3px olarak hesaplanır. (@3x) [downsampling!]
Yorum Gönder