Android 中 View 的 margin 和 padding 的區別
介紹
Padding 和 margin 是用於管理在 Android 應用程式中顯示的 View 的位置的兩個最重要的屬性。這兩個屬性都用於更改 View 的位置,但它們之間存在一些差異。在本文中,我們將探討 Android 中 View 的 margin 和 padding 之間有什麼區別?
什麼是 Android 中的 padding?
Padding 是我們必須顯示的內容與其邊框之間存在的空間。Padding 用於在內容內建立額外的空間。
我們可以從任何特定的一側為小部件新增 padding。根據需要,我們可以從左、右、上或下新增 padding。

語法
android:padding="Size in dp"
說明:以上 padding 語法用於指定 View 四周的 padding。
android:paddingStart="Size in dp"
android:paddingLeft="Size in dp"
說明:以上 padding 語法用於指定左側的 padding。我們可以使用 paddingStart 或 paddingLeft 為 View 的左側新增 padding。
android:paddingEnd="Size in dp"
android:paddingRight="Size in dp"
說明:以上 padding 語法用於指定右側的 padding。我們可以使用 paddingEnd 或 paddingRight 為 View 的右側新增 padding。
android:paddingTop="Size in dp"
說明:以上 padding 語法用於指定 View 上側的 padding。
android:paddingBottom="Size in dp"
說明:以上 padding 語法用於指定 View 下側的 padding。
什麼是 Android 中的 margin?
Margin 是 View 與其直接兄弟或父 View 之間的距離。Margin 用於在兩個不同的 View 之間建立視覺分離。
我們可以從任何特定的一側為小部件新增 margin。根據需要,我們可以從左、右、上或下新增 margin。

語法
android:layout_margin="size in dp"
說明:以上 margin 語法用於指定 View 四周的 padding。
android:layout_marginStart="size in dp"
android:layout_marginLeft="size in dp"
說明:以上 margin 語法用於指定左側的 margin。我們可以使用 marginStart 或 marginLeft 為 View 的左側新增 margin。
android:marginEnd="Size in dp"
android:marginRight="Size in dp"
說明:以上 margin 語法用於指定右側的 margin。我們可以使用 marginEnd 或 marginRight 為 View 的右側新增 padding。
android:marginTop="Size in dp"
說明:以上 margin 語法用於指定 View 上側的 margin。
android:marginBottom="Size in dp"
說明:以上 margin 語法用於指定 View 下側的 margin。
Android 中 Margin 和 Padding 的區別
Margin |
Padding |
---|---|
Margin 定義了 View 邊界外的額外空間。 |
Padding 定義了 View 邊界內的額外空間。 |
Margin 用於在兩個 View 之間建立額外空間。 |
Padding 用於在 View 內容周圍建立額外空間。 |
Margin 影響 View 邊界外的佈局。 |
Padding 影響 View 邊界內的佈局。 |
Margin 不受 View 背景顏色的影響。 |
Padding 受 View 背景顏色的影響。 |
示例
我們將建立一個簡單的應用程式,在其中我們將簡單地顯示一個按鈕,並逐一從各個方向為其新增 padding 並進行測試。
步驟 1:在 Android Studio 中建立新專案
導航到 Android Studio,如下面的螢幕所示。在下面的螢幕中,單擊“新建專案”以建立新的 Android Studio 專案。

單擊“新建專案”後,您將看到下面的螢幕。

在此螢幕中,我們只需選擇“空活動”並單擊“下一步”。單擊“下一步”後,您將看到下面的螢幕。

在此螢幕中,我們只需指定專案名稱。然後將自動生成包名。
注意:確保選擇 Kotlin 作為語言。
指定所有詳細資訊後,單擊“完成”以建立新的 Android Studio 專案。
建立專案後,我們將看到兩個開啟的檔案,即 activity_main.xml 和 MainActivity.kt 檔案。
步驟 2:使用 activity_main.xml
示例 1:從所有方向新增 padding
使用 activity_main.xml 檔案。
語法
<?xml version="1.0" encoding="utf-8"?> <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:orientation="vertical" tools:context=".MainActivity"> <!-- on below line creating a text view for displaying heading --> <TextView android:id="@+id/idTVHeading" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:text="Margin VS Padding" android:textAlignment="center" android:textAllCaps="false" android:textColor="@color/black" android:textSize="20sp" android:textStyle="bold" /> <!-- on below line creating a text view for displaying the margin text view --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/idTVHeading" android:layout_centerHorizontal="true" android:layout_margin="20dp" android:text="Margin text view" android:id="@+id/idTVMargin" android:textAlignment="center" android:textColor="@color/black" android:textSize="18sp" /> <!-- on below line creating a text view for displaying the padding text view --> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/idTVMargin" android:id="@+id/idTVPadding" android:layout_centerHorizontal="true" android:padding="20dp" android:text="Padding text view" android:textAlignment="center" android:textColor="@color/black" android:textSize="18sp" /> </RelativeLayout>
說明:在上面的程式碼中,根元素是 Android 中的相對佈局。此佈局是一個 View 組,用於將所有元素彼此相對地對齊。藉助 ID 或位置,我們可以相對地對齊相對佈局中的所有元素。
在此相對佈局內,我們建立了一個 TextView,用於顯示應用程式的標題。之後,我們建立了另一個 TextView,為此 TextView 添加了 margin,之後我們建立了另一個 TextView,並從所有方向為其添加了 padding。對於這兩個 TextView,我們都指定了背景顏色,然後從所有方向為每個 TextView 添加了 padding 和 margin。
輸出

結論
在以上教程中,我們學習了 Android 中 margin 和 padding 之間的區別,以及如何在應用程式中使用它們來相對於應用程式中的其他 View 移動 View。