Ответы:
Это одно и то же (в API уровня 8+). Использование match_parent.
FILL_PARENT (переименован в MATCH_PARENT в API уровня 8 и выше), что означает, что представление хочет быть таким же большим, как его родитель (минус отступ)
...
fill_parent: Представление должно быть таким же большим, как его родитель (без отступов). Эта константа не рекомендуется, начиная с уровня API 8, и заменяется наmatch_parent.
http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
-1. Если вы чувствуете себя лучше по этому поводу, я тоже не получаю приличия ... :-)
-1. Вы получаете ошибку, потому что старая платформа не знает о новом имени той же самой константы.
Google изменил имя, чтобы избежать путаницы.
Проблема со старым именем fill parentзаключалась в том, что оно подразумевает, что оно влияет на измерения родительского элемента, в то время как match parentлучше описывается получающееся поведение - сопоставьте измерение с родительским.
Обе константы разрешаются -1в конце, и поэтому приводят к одинаковому поведению в приложении. По иронии судьбы, это изменение имени, внесенное для разъяснения вещей, скорее, добавило путаницу, чем устранило ее.
Функционально без разницы Google просто изменил имя с fill_parent на match_parent с уровня API 8 (Android 2.2). FILL_PARENT по-прежнему доступен по причине совместимости.
LayoutParams.FILL_PARENTи LayoutParams.MATCH_PARENTоба имеют значение -1. Не уверен, что подтолкнуло Google перейти с Fill Parent на Match Parent :)
Поскольку большинство из phones are >= Android 2.2... вы должны использовать Match Parent для будущей совместимости ... не уверен, когда они прекратят использование более старой константы Fill Parent!
Для совместимости лучше придерживаться fill_parent, т.е. при поддержке устройств ниже API 8. Но если ваше приложение предназначено для API 8 и выше, вы должны использовать match_parent.
FILL_PARENTэто устарело (как упомянуто Мэттом Боллом выше), то единственная опция для прямой совместимости - это MATCH_PARENT.
FILL_PARENTустарела на уровне API 8 и MATCH_PARENTиспользует API более высокого уровня
Просто чтобы дать ему имя ближе к его действию . "fill_parent"не заполняет оставшееся место, как следует из названия (для этого вы используете весовой атрибут). Вместо этого он занимает столько же места, сколько родительский макет. Вот почему новое имя"match_parent"
Оба имеют схожую функциональность, единственное отличие состоит в том, что fill_parent используется до уровня API 8, а match_parent используется после уровня API 8 или выше.
Когда вы устанавливаете макет 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 (родительский hight) - (20 (paddingTop) +10 (paddingBottom)) = (300 - 30) dp = 270 dp
fill_parent предыдущее имя match_parent
Для API уровня 8 и выше fill_parentпереименован в match_parentи fill_parentустарел.
Так fill_parentи match_parentесть одно и то же.
Представление должно быть таким же большим, как его родитель (за исключением заполнения). Эта константа не рекомендуется, начиная с уровня API 8, и заменяется на {@code match_parent}.
match_parent, что означает, что представление хочет быть таким же большим, как его родитель (минус отступ).
wrap_content, что означает, что представление хочет быть достаточно большим, чтобы заключить его содержимое (плюс заполнение)
Для лучшей иллюстрации я создал образец макета, который демонстрирует эту концепцию. Чтобы увидеть его эффект, я добавил границы каждого содержимого textView.
В текстовом представлении «Соответствие родителя» мы видим, как ширина макета распределяется по всей длине родительского элемента.
Но мы можем видеть в текстовом представлении «Wrap Content» его ширину макета, завернутую в длину его содержимого (Wrap Content).
match_parent и fill_parent являются тем же свойством, используемым для определения ширины или высоты просмотра в полноэкранном режиме по горизонтали или вертикали.
Эти свойства используются в XML-файлах Android, как это.
android:layout_width="match_parent"
android:layout_height="fill_parent"
или
android:layout_width="fill_parent"
android:layout_height="match_parent"
fill_parentиспользовался в предыдущих версиях, но теперь он устарел и заменен на match_parent. Я надеюсь, что это поможет вам.
fill_parent: представление должно быть таким же большим, как его родитель.
теперь этот контент fill_parent устарел и заменен на match_parent.
FILL_PARENT был переименован в MATCH_PARENT в API уровня 8 и выше, что означает, что представление хочет быть таким же большим, как его родитель (минус отступ) - Google
FILL_PARENT устарел с уровня API 8 и выше и переименован для более высоких версий как MATCH_PARENT
Оба такие же , FILL_PARENTи MATCH_PARENT, FILL_PARENTбыл использован в более низкой версии меньше , чем уровень API 8 и MATCH_PATENT используются в более высоком уровне API , больше 8.
FILL_PARENT(переименован MATCH_PARENTв API Level 8 и выше), что означает, что представление хочет быть таким же большим, как его родитель (минус отступ)
fill_parent: Представление должно быть таким же большим, как его родитель (без отступов). Эта константа не рекомендуется, начиная с уровня API 8, и заменяется на match_parent.
Для более подробной информации, пожалуйста, посетите эту страницу
1. match_parent
Когда вы устанавливаете ширину и высоту макета как match_parent, он будет занимать всю область, которую имеет родительское представление, то есть он будет таким же большим, как родительский.
Примечание . Если для родительского элемента применяется отступ, то это пространство не будет включено.
Когда мы создаем layout.xml по умолчанию, мы имеем RelativeLayout в качестве родительского View по умолчанию с android: layout_width = "match_parent" и android: layout_height = "match_parent", т.е. он занимает всю ширину и высоту экрана мобильного устройства.
Также обратите внимание, что дополнение применяется ко всем сторонам,
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
Теперь давайте добавим вспомогательное представление LinearLayout и установим его layout_width = "match_parent" и layout_height = "match_parent", графическое представление будет отображать что-то вроде этого,
match_parent_example
Код
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.code2care.android.togglebuttonexample.MainActivity" >
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="11dp"
android:background="#FFFFEE"
android:orientation="vertical" >
2. fill_parent:
Это то же самое, что match_parent, fill_parent устарел на уровне API 8. Поэтому, если вы используете API уровня 8 или выше, вы должны избегать использования fill_parent
Давайте сделаем те же шаги, что и для match_parent, вместо этого везде будем использовать fill_parent.
Вы увидите, что нет различий в поведении как в fill_parent, так и в match parent.