Bir Görünümün Marjı ile Dolgu arasındaki fark nedir?
Bir Görünümün Marjı ile Dolgu arasındaki fark nedir?
Yanıtlar:
Dolgunun anlamını hatırlamama yardımcı olmak için , çok kalın pamuklu dolgu ile büyük bir ceket düşünüyorum . Ceketimin içindeyim, ama ben ve yastıklı ceketim birlikteyiz. Biz bir birimiz.
Ama marjı hatırlamak için, " Hey, bana biraz marj verin! " Rahatlık alanımın içine girme - marjım.
Daha açık hale getirmek için, burada bir de dolgu ve marj bir resmi TextView
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView margin only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:padding="10dp"
android:textColor="#000000"
android:text="TextView padding only"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#c5e1b0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#f6c0c0"
android:textColor="#000000"
android:padding="10dp"
android:text="TextView padding and margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#c5e1b0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f6c0c0"
android:textColor="#000000"
android:text="TextView no padding no margin"
android:textSize="20sp" />
</LinearLayout>
Dolgu , kenarlığın içinde, kenarlıkla gerçek görünümün içeriği arasındaki alandır. Dolgunun tamamen içeriğin etrafında gittiğine dikkat edin: üst, alt, sağ ve sol taraflarda dolgu var (bağımsız olabilir).
Kenar boşlukları , sınırın dışındaki, sınır ve bu görünümün yanındaki diğer öğeler arasındaki boşluklardır. Görüntüde, kenar boşluğu tüm nesnenin dışındaki gri alandır. Dolgu gibi, kenar boşluğunun tamamen içeriğin etrafında gittiğine dikkat edin: üst, alt, sağ ve sol kenarlarda kenar boşlukları vardır.
Bir resim 1000'den fazla kelime söylüyor ( Margin Vs Padding - CSS Properties'den çıkarıldı ):
Dolgu görünüm içinde, kenar boşluğu dışında. Tüm görünümler için dolgu mevcuttur. Görünüme bağlı olarak, dolgu ve kenar arasında görsel bir fark olabilir veya olmayabilir.
Düğmeler için, örneğin, karakteristik düğme arka plan görüntüsü dolgu içerir, ancak kenar boşluğunu içermez. Başka bir deyişle, daha fazla dolgu eklemek düğmenin görsel olarak daha büyük görünmesini sağlarken, daha fazla kenar boşluğu eklemek düğme ve sonraki kontrol arasındaki boşluğu daha da genişletir.
İçin TextView
s, diğer taraftan, dolgu ve kenar görsel etkisi aynıdır.
Kenar boşluğunun olup olmadığı görünümün kendisi tarafından değil görünümün kabı tarafından belirlenir. In LinearLayout
kenar boşluğunda, desteklenen AbsoluteLayout
hayır - (şimdi eskimiş kabul).
Aşağıdaki görüntü, dolgu ve kenar boşluğunu anlamanıza izin verir.
Bazen aynı sonucu sadece dolgu VEYA kenar boşluğu ile oynayarak elde edebilirsiniz. Misal :
Diyelim ki X Görünümü Y görünümünü içerir (aka: Y Görünümü, X Görünümü'nün içindedir).
Kenar Boşluğu = 30 Y ile Görünüm Y = Dolgu = 30 ile Görünüm X aynı sonucu elde edecektir: Görünüm Y 30 ofsetine sahip olacaktır.
Doldurma
sen verirsen Geciktirme içinde bir View.For örnek olduğunu android:paddingLeft=20dp
daha sonra iç görünüm ürün ile ayarlayacaktır, 20dp
left.You da kullanabilirsiniz gelen genişliği paddingRight
, paddingBottom
, paddingTop
sırasıyla sağ, alt ve üstten doldurma vermek için hangi.
Marj
Marjı a View
. Örneğin android:marginLeft=20dp
, verirseniz , görünüm 20dp
soldan sonra düzenlenir .
Bir görünümde bir düğmeniz olduğunu ve görünümün boyutunun 200 x 200 olduğunu ve düğmenin boyutunun 50 ila 50 olduğunu ve düğme başlığının HT olduğunu varsayalım. Şimdi kenar boşluğu ve dolgu arasındaki fark, görünümde düğmenin kenar boşluğunu ayarlayabilirsiniz, örneğin soldan 20, üstten 20 ve dolgu, düğmedeki veya metin görünümündeki vb. , dolgu değeri soldan 20'dir, bu nedenle metnin konumunu ayarlayacaktır.
Kenar boşluğu, bir öğenin dışındaki fazladan alanı ifade eder. Dolgu, bir eleman içindeki fazladan alanı ifade eder. Marj, kontrolün çevresindeki fazladan boşluktur. Dolgu, kontrolün içinde fazladan boşluktur.
Beyaz bir dolgu ile kenar boşluğu ve dolgu ile farkı görmek zordur, ancak renkli bir dolgu ile iyi görebilirsiniz.
Yukarıdaki tüm doğru cevap ek olarak, bir başka fark, yani dolgu , oysa bir görünüm artar tıklanabilir alan kenar değil . Bu, ufacık bir tıklanabilir resminiz varsa ancak tıklama işleyicisini affetmek istiyorsanız yararlıdır.
Örneğin, bir ile benim düzeni bu resmi görmek ImageView
belirlediğim (Android simgesi) paddingBotton
olmak 100dp
(görüntü stok başlatıcısı mipmap olan ic_launcher
). Ekli tıklama işleyici ile resmin dışına ve altına tıklayabilir ve yine de bir tıklama kaydedebilirim.
Basit bir ifadeyle:
Basit bir deyişle:
dolgu, kutunun boyutunu değiştirir (bir şeyle).
margin farklı kutular arasındaki boşluğu değiştirir