Когда вы задаете макет width
и height
как match_parent
в свойстве XML
, он будет занимать всю область, которую имеет родительское представление, то есть он будет таким же большим, как родительский.
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
Родитель-заяц красный, а ребенок - зеленый. Ребенка занимают все области. Потому что это width
и height
match_parent
.
Примечание. Если для родительского элемента применяется отступ, то это место не будет включено.
<LinearLayout
android:layout_width="300dp"
android:layout_height="300dp"
android:background="#f9b0b0"
android:paddingTop="20dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#b0f9dc"/>
</LinearLayout>
То есть TextView hight = 300dp (родительский уровень) - (20 (paddingTop) +10 (paddingBottom))
= (300 - 30) дп
= 270 дп
fill_parent и match_parent
fill_parent
- предыдущее имя match_parent
Для API уровня 8 и выше fill_parent
переименован в match_parent
и fill_parent
устарел.
То есть fill_parent
и match_parent
одинаковы.
Документация API для fill_parent
Представление должно быть таким же большим, как его родитель (без отступов). Эта константа не рекомендуется, начиная с уровня API 8, и заменяется {@code match_parent}.