Ich fand das beides fill_parent
und match_parent
bedeutet dasselbe
- fill_parent bedeutet, dass die Ansicht so groß wie die übergeordnete Ansicht sein soll, abzüglich der Auffüllung der übergeordneten Elemente, falls vorhanden.
- match_parent bedeutet, dass die Ansicht so groß wie die übergeordnete Ansicht sein soll, abzüglich der Auffüllung der übergeordneten Elemente, falls vorhanden.
Der einzige Unterschied, den ich festgestellt habe, ist, dass fill_parent
er ab API Level 8 veraltet ist und durch ersetzt wirdmatch_parent
Ich habe jedoch keinen Unterschied zwischen diesen beiden bemerkt. Wenn beide gleich sind, warum ist dann fill_parent
veraltet? Kann jemand irgendwelche Unterschiede zwischen diesen beiden erklären, außer der Tatsache, dass einer veraltet ist und der andere nicht?
Ich habe http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html durchgesehen
Antworten:
Wie Sie sagten, sind sie genau gleich. Wie Romain Guy sagte, haben sie den Namen geändert, weil
"fill_parent"
es für Entwickler verwirrend war. Füllt"fill_parent"
zwar nicht den verbleibenden Platz aus (dafür verwenden Sie das Attribut weight), benötigt aber so viel Platz wie das übergeordnete Layout. Deshalb lautet der neue Name"match_parent"
.quelle
Laut Romain Guy in diesem Video kennzeichnen diese Wörter dasselbe Verhalten. Viele Entwickler haben jedoch falsch verstanden, was fill_parent bedeutet, und haben daher einen Alias entwickelt.
quelle
Ich habe mich lange genug in Android entwickelt, um auch zu erkennen, dass es keinen Unterschied zu geben scheint, außer wenn Sie auf einer älteren API ausgeführt werden möchten. Ich würde verwenden,
fill_parent
weil ich alle meine Apps mit minimaler API 7 mache. Nebenbei bemerkt, da Android vorwärtskompatibel ist, ist dies der richtige Weg.quelle
Ergänzung zu den vorhandenen Antworten. Hier ist ein Teil des Quellcodes aus der
LayoutParams
Klasse. Die Konstanten FILL_PARENT und MATCH_PARENT werden demselben Wert zugeordnet. Wir haben also absolut die gleiche Funktionalität.public static class LayoutParams { /** * Special value for the height or width requested by a View. * FILL_PARENT means that the view wants to be as big as its parent, * minus the parent's padding, if any. This value is deprecated * starting in API Level 8 and replaced by {@link #MATCH_PARENT}. */ @SuppressWarnings({"UnusedDeclaration"}) @Deprecated public static final int FILL_PARENT = -1; /** * Special value for the height or width requested by a View. * MATCH_PARENT means that the view wants to be as big as its parent, * minus the parent's padding, if any. Introduced in API Level 8. */ public static final int MATCH_PARENT = -1; ...
quelle