Androidレイアウトのマージンとパディングの違い



Difference Between Margin



Androidの開発は、コードの動的な制御であるだけでなく、レイアウト(xml)の静的な構築でもあることを私たちは知っています。ほとんどすべてのxmlファイルで、marginとpaddingの2つの属性が常に表示されます。今日は、それらの違いを探りましょう。

まず、説明の便宜上、以下に示すように、最初に3層のレイアウトを描画します。



画像

ここでのレイアウトの意味は、ビューなどを参照して広範です。



パディングの意味

画像

日常の英語では、パディングは「パッド」、「ライニング」などを意味します。 Androidレイアウトでは、パディングとは、属性が配置されているメインコントロールの内部レイアウト(子コントロール)のマージンを意味します。上の図に示すように、レイアウト2のpaddingプロパティを設定すると、実際に影響するのは、レイアウト3とレイアウト2の間の距離です。黒い線は、paddingLeftの特定の左マージン値を表します。上、下、左、右のパディング値が等しい場合、これら4つの代わりにパディングを使用できます。これは:

android:paddingLeft =“ 10dp”
android:paddingRight =“ 10dp”
android:paddingTop =“ 10dp”
android:paddingBottom =“ 10dp”
そして
android:padding =“ 10dp”
同等です。



マージンの意味

画像

マージンとパディングのプロパティは正反対です。 Androidレイアウトでは、marginは、属性が配置されているメインコントロールの外部レイアウト(親コントロール)のマージンを意味します。上の図に示すように、レイアウト2のpaddingプロパティを設定すると、実際に影響するのは、レイアウト1とレイアウト2の間の距離です。ここで、黒い線は、layout_marginLeftの特定の左マージン値を表します。同様に、上、下、左、右のマージン値が等しい場合、これら4つの代わりにマージンを使用できます。これは:

android:marginLeft =“ 10dp”
android:marginRight =“ 10dp”
android:marginTop =“ 10dp”
android:marginBottom =“ 10dp”
そして
android:margin =“ 10dp”
も同等です。

マージンとパディングの相対性理論

このレイアウト図を振り返って、質問について考えてみましょう。

レイアウト2でパディングを設定する効果は、レイアウト3でマージンを設定するのと同じですか?

画像

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

パディング:
画像

マージン:
画像

実際、Androidレイアウトの多くの属性は相対的なものなので、今回はたくさん話しましょう〜!