Apa perbedaan antara Margin View dan Padding?
Apa perbedaan antara Margin View dan Padding?
Jawaban:
Untuk membantu saya mengingat arti bantalan , saya memikirkan mantel besar dengan banyak kapas tebal . Aku ada di dalam mantelku, tapi aku dan mantel empuk bersama-sama. Kami adalah satu unit.
Tetapi untuk mengingat margin , saya berpikir, “ Hei, beri saya sedikit margin! ” Ini adalah ruang kosong antara saya dan Anda. Jangan masuk ke zona nyaman saya - margin saya.
Untuk membuatnya lebih jelas, berikut ini adalah gambar padding dan margin dalam 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>
Padding adalah ruang di dalam perbatasan, antara perbatasan dan konten tampilan yang sebenarnya. Perhatikan bahwa padding sepenuhnya mengelilingi konten: ada padding di bagian atas, bawah, kanan dan kiri (yang bisa independen).
Margin adalah ruang di luar perbatasan, antara perbatasan dan elemen lainnya di sebelah tampilan ini. Dalam gambar, margin adalah area abu-abu di luar seluruh objek. Perhatikan bahwa, seperti padding, margin sepenuhnya mengelilingi konten: ada margin di sisi atas, bawah, kanan, dan kiri.
Sebuah gambar mengatakan lebih dari 1000 kata (diekstrak dari Margin Vs Padding - Properti CSS ):
Padding ada dalam tampilan, margin di luar. Padding tersedia untuk semua tampilan. Tergantung pada tampilan, mungkin ada atau tidak ada perbedaan visual antara bantalan dan margin.
Untuk tombol, misalnya, gambar latar belakang tombol karakteristik termasuk padding, tetapi tidak margin. Dengan kata lain, menambahkan lebih banyak padding membuat tombol terlihat lebih besar secara visual, sementara menambahkan lebih banyak margin hanya membuat jarak antara tombol dan kontrol selanjutnya lebih lebar.
Untuk TextView
s, di sisi lain, efek visual padding dan margin identik.
Tersedia atau tidaknya margin ditentukan oleh wadah tampilan, bukan oleh tampilan itu sendiri. Dalam LinearLayout
margin didukung, dalam AbsoluteLayout
(dianggap usang sekarang) - tidak.
Gambar di bawah ini akan membuat Anda memahami padding dan margin-
Kadang-kadang Anda dapat mencapai hasil yang sama dengan bermain hanya dengan bantalan ATAU margin. Contoh:
Say View X berisi view Y (alias: View Y ada di dalam View X).
-Lihat Y dengan Margin = 30 ATAU Tampilan X dengan Padding = 30 akan mencapai hasil yang sama: Tampilan Y akan memiliki offset 30.
Padding
Padding adalah dalam contoh View.For jika Anda memberikan android:paddingLeft=20dp
, maka item di dalam pandangan akan mengatur dengan 20dp
lebar dari left.You juga dapat menggunakan paddingRight
, paddingBottom
,paddingTop
yang memberikan bantalan dari kanan, bawah dan atas masing-masing.
Margin
Margin berada di luar a View
. Misalnya jika Anda memberi android:marginLeft=20dp
, maka tampilan akan diatur setelah 20dp
dari kiri.
Anggap saja Anda memiliki tombol dalam tampilan dan ukuran tampilan adalah 200 kali 200, dan ukuran tombol adalah 50 kali 50, dan judul tombol adalah HT. Sekarang perbedaan antara margin dan padding adalah, Anda dapat mengatur margin tombol dalam tampilan, misalnya 20 dari kiri, 20 dari atas, dan padding akan menyesuaikan posisi teks pada tombol atau tampilan teks dll. Misalnya , nilai padding adalah 20 dari kiri, sehingga akan menyesuaikan posisi teks.
Margin mengacu pada ruang ekstra di luar elemen. Padding mengacu pada ruang ekstra dalam suatu elemen. Margin adalah ruang ekstra di sekitar kontrol. Padding adalah ruang ekstra di dalam kontrol.
Sulit untuk melihat perbedaannya dengan margin dan bantalan dengan isian putih, tetapi dengan isian berwarna Anda dapat melihatnya dengan baik.
Selain semua jawaban yang benar di atas, satu perbedaan lainnya adalah bahwa bantalan meningkatkan area tampilan yang dapat diklik, sedangkan margin tidak . Ini berguna jika Anda memiliki gambar yang dapat diklik bertubuh kecil tetapi ingin membuat penangan klik memaafkan.
Untuk misalnya, melihat gambar ini dari tata letak saya dengan ImageView
(ikon Android) di mana saya mengatur paddingBotton
untuk menjadi 100dp
(gambar adalah saham peluncur mipmap ic_launcher
). Dengan pengendali klik yang terlampir, saya dapat mengklik jauh di luar dan di bawah gambar dan masih mendaftarkan klik.
Dengan kata sederhana:
Dengan kata sederhana:
padding mengubah ukuran kotak (dengan sesuatu).
margin mengubah ruang antara kotak yang berbeda