1. ホーム
  2. android

[解決済み] Android初心者 paddingとmarginの違い【重複】について

2022-02-08 06:10:21

質問

SOの質問を参考にさせていただきました。また、回答も確認しました。
パディングとは、ボーダーの内側、ボーダーと実際のビューのコンテンツとの間のスペースのことです。パディングはコンテンツの周囲を完全に囲むことに注意してください。

マージンとは、ボーダーの外側で、ボーダーとこのビューの隣にある他の要素との間のスペースのことです。画像では、マージンはオブジェクト全体の外側にあるグレーの部分です。パディングと同様に、マージンはコンテンツを完全に囲むことに注意してください:上下左右に余白があります。

また、パディングとマージンについては、以下から。

http://developer.android.com/reference/android/view/View.html
http://developer.android.com/reference/android/view/ViewGroup.MarginLayoutParams.html

しかし、paddingとmarginの根本的な違いは何でしょうか?O.S.やデバイスによって動作が異なるのでしょうか?
私は普通のシンプルなレイアウトを持っています。コードに問題はなく、レイアウトフォルダ - layoutとlayout-sw600dpとdrawables-4dpiを使用しています。マージンやパディングのないレイアウトは作れないのですが、どちらが適切でしょうか?

解決方法は?

Padding は、内部/内部コンポーネント用です。例 TextView , Button , EditText などです。
例:テキストとボーダーの間のスペース

Margin は、コンポーネントの外側に適用されます。
例:画面の左端とコンポーネントの枠の間のスペース

ビジュアル表現が素晴らしいのは、: ビューのPaddingとMarginの違い

Padding 2.2、2.3と4.3、4.4で違いがあることがわかりました。
このような場合

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="ASDFGHJKL" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="15dp"
        android:text="@string/hello_world" />

</RelativeLayout>  

また、dimensの使用も確認してください。
http://developer.android.com/guide/topics/resources/more-resources.html