ビューのマージンとパディングの違いは何ですか?
padding の意味を思い出すのに役立つように、 厚い綿のパディング がたくさんある大きなコートを考えます。私はコートの中にいますが、私と私のパッド入りコートは一緒です。私たちはユニットです。
しかし、 margin を覚えておくと、 " ちょっと、ちょっとマージンをくれ! "それは、私とあなたの間の空白なのです。私の快適ゾーン - 私のマージンの内側に入ってはいけません。
より明確にするために、これは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>
パディング はボーダーの内側、ボーダーと実際のビューのコンテンツの間のスペースです。パディングはコンテンツの周囲を完全に囲むことに注意してください。上下左右にパディングがあります(これは独立している場合があります)。
余白 は、境界線の外側、境界線とこのビューの横にある他の要素との間のスペースです。画像では、マージンはオブジェクト全体の外側のグレーの領域です。余白は、パディングと同様に、コンテンツの周囲を完全に一周します。上、下、右、および左に余白があります。
画像には1000語以上の単語が含まれています( 余白とパディング - CSSのプロパティ から抽出)。
パディングはビューの内側にあります。
マージンはビューの外側です。
この違いは、背景やサイズのプロパティに関連している可能性があります。
パディングはビュー内にあり、マージンは外側にあります。パディングはすべてのビューで利用可能です。ビューによっては、パディングとマージンの間に視覚的な違いがある場合とない場合があります。
たとえばボタンの場合、特性ボタンの背景画像には余白は含まれませんが余白は含まれません。つまり、余白を追加するとボタンの外観が大きくなり、余白を追加するとボタンと次のコントロールの間隔が広くなります。
一方、TextView
sの場合、パディングとマージンの視覚効果は同じです。
マージンが使用可能かどうかは、ビュー自体ではなく、ビューのコンテナーによって決まります。 LinearLayout
ではmarginがサポートされ、AbsoluteLayout
では(現在は時代遅れと考えられています) - いいえ。
下の画像では、余白と余白がわかります。
場合によっては、パディングOR marginでのみ再生しても同じ結果が得られることがあります。例:
ビューXにビューYが含まれているとします(別名:ビューYはビューXの内側にあります)。
- 余白= 30でビューY ORパディング= 30でビューXは同じ結果になります。ビューYのオフセットは30です。
パディングは、境界と実際の画像またはセルの内容との間の境界内のスペースです。マージンとは、ボーダーの外側、ボーダーとこのオブジェクトの横にある他の要素との間のスペースです。
パディング
パディングはViewの内部にあります。例えばAndroid:paddingLeft=20dp
を指定すると、ビュー内の項目は左から20dp
の幅で配置されます。右からパディングを与えるためにpaddingRight
、paddingBottom
、paddingTop
を使用することもできます。それぞれ下と上。
マージン
マージンはView
の外側です。たとえば、Android:marginLeft=20dp
を指定すると、ビューは左から20dp
の後に配置されます。
ビューにボタンがあり、ビューのサイズが200 x 200、ボタンのサイズが50 x 50、ボタンのタイトルがHTであるとします。マージンとパディングの違いは、ビュー内のボタンのマージンを設定できることです。たとえば、左から20、上から20、パディングはボタンまたはテキストビューなどのテキスト位置を調整します。パディング値は左から20なので、テキストの位置を調整します。
マージンとは、要素の外側にある余分なスペースのことです。パディングは、要素内の余分なスペースを指します。余白は、コントロールの周囲の余分なスペースです。パディングは、コントロール内の余分なスペースです。
マージンとパディングの違いを白い塗りつぶしで見分けるのは困難ですが、色付き塗りつぶしを使用するとうまく表示できます。
簡単に言うと:
パディングはボックスのサイズを変更します(何かを含む)。
マージンは異なるボックス間のスペースを変更します
簡単に言うと: