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。

更新時間: 2023年5月9日

3K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告