Android 中 match_parent 和 fill_parent 的區別是什麼?


簡介

Android 應用程式包含不同型別的檢視,例如影像檢視、文字檢視、按鈕等等。對於這些不同型別的檢視,我們必須指定要在螢幕上顯示的檢視的大小。我們可以為該檢視提供自定義大小以獲取特定的高度和寬度。但是,如果我們想為這些檢視提供大小,以便它們可以輕鬆處理不同螢幕尺寸的變化。我們可以為這些檢視提供寬度和高度,例如 match_parent 或 fill_parent。新增 match_parent 和 fill_parent 將幫助您為不同的螢幕尺寸對齊特定的檢視。在本文中,我們將瞭解 Android 中 match_parent 和 fill_parent 之間的區別。

match_parent 的含義是什麼?

Match_parent 是一個屬性,用於定義檢視的寬度或高度等於其父檢視的寬度或高度。這意味著該檢視將佔用與其父檢視相同的空間。這通常用於建立包含多個檢視的佈局,因為它可以確保檢視大小相等。例如,如果我們將任何文字檢視的寬度指定為 match_parent,則該檢視將擴充套件到整個螢幕寬度,並且它也將針對不同的螢幕尺寸進行對齊,類似地,如果我們將高度指定為 match_parent,它將佔用螢幕從上到下的完整高度。

此屬性在 size 引數中給出。以下是透過將寬度和高度指定為 match_parent 來建立文字檢視的簡單示例。

<!-- creating a text view for displaying a text message with match_parent-->
<TextView
   android:id="@+id/idTVMessage"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:gravity="center"
   android:text="Hello World!"
   android:textAlignment="center"
   android:textSize="20sp"
   android:textStyle="bold" />

解釋 - 在上面的程式碼中,我們將文字檢視的寬度和高度指定為 match_parent,這將使該文字檢視佔用螢幕的完整區域,並且文字將對齊到螢幕的中心,因為我們將文字對齊方式設定為居中。

fill_parent 的含義是什麼?

Fill_parent 類似於 match_parent,但它用於舊版本的 Android。效果相同,但語法略有不同。此屬性在 API 級別 8(Android 2.2)中已棄用,並替換為 match_parent。例如,如果我們將任何文字檢視的寬度指定為 fill_parent,則該檢視將擴充套件到整個螢幕寬度,並且它也將針對不同的螢幕尺寸進行對齊,類似地,如果我們將高度指定為 fill_parent,它將佔用螢幕從上到下的完整高度。

此屬性在 size 引數中給出。以下是透過將寬度和高度指定為 fill_parent 來建立文字檢視的簡單示例。

<!-- creating a text view for displaying a text message with fill_parent-->
<TextView
   android:id="@+id/idTVMessage"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:gravity="center"
   android:text="Hello World!"
   android:textAlignment="center"
   android:textSize="20sp"
   android:textStyle="bold" />

解釋 - 在上面的程式碼中,我們將文字檢視的寬度和高度指定為 fill_parent,這將使該文字檢視佔用螢幕的完整區域,並且文字將對齊到螢幕的中心,因為我們將文字對齊方式設定為居中。

match_parent 和 fill_parent 之間有什麼區別?

match_parent 和 fill_parent 之間存在一些關鍵區別。首先,match_parent 是首選,因為它更新且使用與其他屬性相同的語法。其次,fill_parent 稍微更嚴格,因為它只允許檢視佔用與其父檢視相同空間。Match_parent 稍微靈活一些,因為它允許檢視佔用比其父檢視更大的空間。

在使用哪個屬性方面,match_parent 是首選,因為它是最新的版本。但是,如果您需要支援舊版本的 Android,則可能需要使用 fill_parent。

還需要注意的是,match_parent 和 fill_parent 不應互換使用。如果您在舊版本的 Android 中使用 match_parent,則不會達到預期效果。同樣,如果您在新版本的 Android 中使用 fill_parent,則也不會達到預期效果。

總之,match_parent 和 fill_parent 是 Android 中用於定義檢視大小的兩個屬性。它們具有相同的效果,但 match_parent 是首選,因為它更新且使用與其他屬性相同的語法。還需要注意的是,它們不應互換使用,因為不會達到預期效果。

match_parent

fill_parent

從 API 級別 8 開始使用。

從 API 級別 8 開始使用。

等效於 LayoutParams.MATCH_PARENT。

等效於 LayoutParams.FILL_PARENT。

佈局中寬度和高度的值將分別設定為其父檢視寬度或高度的完整尺寸。

佈局中寬度和高度的值將設定為儘可能填充父檢視容器中的剩餘空間,無論這對內部元素的大小和位置意味著什麼。

結論

在本文中,我們瞭解了 Android 中 match_parent 和 fill_parent 的含義以及如何在應用程式中使用它們。此外,我們還了解了 match_parent 和 fill_parent 之間的區別。

更新於: 2023年3月30日

2K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.