Understanding the Difference Between match_parent and fill_parent in Android Development

Understanding the Difference Between match_parent and fill_parent in Android Development

6 June 2024 Stephan Petzl Leave a comment Tech-Help

When developing Android applications, you might come across two XML properties: match_parent and fill_parent. These properties are used to specify the size of a view in relation to its parent layout. While they appear similar, there is a key detail that developers should be aware of. This article aims to clarify the differences and provide guidance on which property to use.

match_parent vs. fill_parent

Both match_parent and fill_parent are used to make a view as large as its parent. However, there is an important distinction:

  • fill_parent: This property was used in Android versions prior to API Level 8 (Android 2.2). It instructs the view to be as large as its parent, minus any padding.
  • match_parent: Introduced in API Level 8, this property serves the same purpose as fill_parent but is the recommended property to use in modern Android development.

Why the Change?

Google changed the name from fill_parent to match_parent to avoid confusion. The term “fill” could imply that the view affects the dimensions of the parent, whereas “match” more accurately describes the intended behavior: the view matches the dimensions of its parent.

Despite the change, both constants resolve to the same value (-1) and result in identical behavior in the app. Therefore, using match_parent is recommended for future compatibility.

Practical Example

Consider the following XML layout:




In this example, the TextView will occupy the entire area of its parent LinearLayout. If padding is applied to the parent, the TextView will adjust its size accordingly.

Deprecation of fill_parent

As of API Level 8, fill_parent has been deprecated and replaced by match_parent. Developers are encouraged to use match_parent to ensure compatibility with future Android versions.


In summary, match_parent and fill_parent serve the same function, but match_parent is the modern and recommended property to use. This ensures your app remains compatible with the latest Android versions.

Streamlining Mobile App Testing with Repeato

As a mobile developer, ensuring that your app behaves as expected across various devices and configurations can be challenging. This is where Repeato comes in. Repeato is a no-code test automation tool for iOS and Android that allows you to create, run, and maintain automated tests for your apps quickly and efficiently. By leveraging computer vision and AI, Repeato makes it easy to focus on creating a great product instead of spending time on test automation. Additionally, Repeato allows non-technical colleagues or QA teams to handle test automation, further streamlining your development process.

For more information on how Repeato can help you, visit our documentation and explore our blog for the latest updates.

Like this article? there’s more where that came from!