Xamarin.Forms – Farklı ekran büyüklükleri ile çalışmak [Android+iOS] (Bölüm 1+2)

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!]

Yiğit ÖZAKSÜT

MVP, MCT, Xamarin Developer, Consultant & Architect

Yorum Gönder