1. ホーム
  2. Android

Androidのレイアウトにおけるmarginとpaddingの違いについて

2022-02-17 16:29:04
<パス

Androidの開発は、コードの動的な制御だけでなく、レイアウト(xml)の静的な構築も重要であることが分かっています。ほぼすべてのxmlファイルで、私たちは常にmarginとpaddingの属性を目にします。今日は、最初にその違いを探ってみましょう。

まず、説明のために、次のような3段のレイアウトを描いてみましょう。

レイアウトとは、ここでは広義にViewなどを総称しています。

パディングの意味

日常英語では、paddingは"padding"、"padding"などの意味です。Androidレイアウトでは、paddingは、このプロパティがあるメインコントロール内のインナーレイアウト(子コントロール)のマージンを意味します。上図のように、layout2のpaddingプロパティを設定すると、実際にはその内側のlayout3とlayout2の距離に影響し、黒線はpaddingLeftの特定の左マージンの値を示しています。上下の左右のpaddingの値が等しい場合は、この4つの代わりにpaddingを使用することができます。ということです。

android:paddingLeft = "10dp"。
android:paddingRight = "10dp"
android:paddingTop = "10dp"
android:paddingBottom = "10dp"
と同じです。
android:padding = "10dp"。
が相当します。

##margin の意味

marginは、paddingプロパティの逆です。Androidのレイアウトでは、marginは、プロパティがあるメインコントロールの外部レイアウト(親コントロール)のマージンを意味します。上図のように、layout2のmarginプロパティを設定すると、実際にはその外側のlayout1とlayout2の距離に影響し、黒い線はlayout_marginLeftの具体的な左マージンの値を示しています。同様に、上下のマージン値が等しい場合、これら4つの代わりにmarginを使用することができます。つまり

android:marginLeft = "10dp"。
android:marginRight = "10dp"
android:marginTop = "10dp"
android:marginBottom = "10dp"
と同じです。
android:margin = "10dp"。
また、同等である。

##margin と padding の相対性

このレイアウトイメージに戻り、疑問点を考えてみましょう。

レイアウト2でpaddingを設定することは、レイアウト3でmarginを設定することと同じ効果があるのでしょうか?

5分経過しました。例のデモを見てみましょう。

をパディングする。

のマージンを使用します。

アンドロイドレイアウトには、実は相対的なプロパティがたくさんあるので、今回はそちらからご紹介しましょう〜。