Android Boyut Türleri

XML’lerin içerisinde tanımlanan boyutlandırma tipleridir. Bu boyutlandırmalar bir sayıyla yada şimdi bahsedeceğim birimlerle tanımlanabilir. Android tarafından desteklenen birimler:

dp : Density-independent pixels. Ekranın fiziksel yoğunluğuna bağlı bir birimdir ve bağımsızdır. Ortalama her ekranda aynı boyutta gözükür. Yaklaşık bir inçte 160 tane dp bulunur(160dpi) ve bu değere başlangıç yoğunluğu denir ve tüm değerler bu yoğunluk değerine bağlıdır. Tek bir dp’nin çevrildiği piksel sayısı, ekran yoğunluğundaki piksele ve cihazın düştüğü density bucket’a bağlı olarak değişir. Daha yüksek yoğunluğa sahip bir ekranda 1dp’yi çizmek için kullanılan piksel miktarı ekranın dpi’ına göre belli bir oradan artırılır; tam tersi durumda ise belli bir oranda azaltılır.

Burdan aldığım birkaç örneği sunmak istiyorum:

Örnek olarak, 160dpi bir ekranda 1dp 1 piksele eşit olmaktadır. 320dpi bir ekranda ise 1dp 2 piksele eşit olacaktır.

Formül:
dp = (piksel genişlik * 160) / dpi

Örnek olarak 1200 piksel genişliğe sahip 320dpi bir android cihazda genişlik değeriniz 600dp olacaktır.
(1200 * 160) / 320 = 600dp

Aşağıdaki kodda 20dp margin değeri 160dpi bir ekranda 20piksel ve 320dpi bir ekranda ise 40piksel olacaktır.

<Button android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/clickme”
android:layout_margin=”20dp” />

sp : Scale-independent-pixels. Dp birimi gibidir fakat ekstra olarak kullanıcının seçtiği font büyüklüğüne göre metin boyutu da değişir. Yazı boyutu için özel olarak tasarlanmıştır, yazı yazarken genellikle bu kullanılır.

pt : Point. Genellikle yazı tipi boyutu birimi olarak anılır Bir inçte 72 tane pt vardır. Ekran boyutuna bağlı olarak tek bir pt’den çevrilen piksel sayısı değişiklik gösterir.

px : Piksel. Ekranınızda varolan piksellere karşılık gelir.

in : İnç. Ekranın fiziksel boyutuna bağlıdır.

mm : Milimetre. Bu da yine ekranın fiziksel boyutuna bağlıdır.

Birimİsmiİnç başına y birimYoğunluğa bağlı mıHer ekranda aynı fiziksel boyut
dpdpi~160HayırHayır
spspi~160HayırHayır
pxpixeldeğişirEvetHayır
ptpoint72HayırEvet
ininç1HayırEvet
mmmilimetre25,4HayırEvet