it-swarm.com.de

Was ist der Unterschied zwischen match_parent und fill_parent?

Ich bin etwas verwirrt über zwei XML-Eigenschaften: match_parent und fill_parent. Es scheint, dass beide gleich sind. Gibt es einen Unterschied zwischen ihnen?

1318
vnshetty

Sie sind dasselbe (in API Level 8+). Verwenden Sie match_parent.

FILL_PARENT (in API Level 8 und höher in MATCH_PARENT umbenannt), was bedeutet, dass die Ansicht so groß sein soll wie ihr übergeordnetes Element (minus Auffüllen).

...

fill_parent: Die Ansicht sollte so groß sein wie das übergeordnete Element (ohne Auffüllen). Diese Konstante ist ab API Level 8 veraltet und wird durch match_parent ersetzt.

http://developer.Android.com/reference/Android/view/ViewGroup.LayoutParams.html

1191
Matt Ball

Google hat den Namen geändert, um Verwirrung zu vermeiden.

Das Problem mit dem alten Namen fill parent bestand darin, dass er die Dimensionen des übergeordneten Elements beeinflusst, während match parent das resultierende Verhalten besser beschreibt - die Dimension mit dem übergeordneten Element vergleichen.

Beide Konstanten werden am Ende in -1 aufgelöst und führen zu einem identischen Verhalten in der App. Ironischerweise scheint diese Namensänderung, die zur Klarstellung der Dinge vorgenommen wurde, eher Verwirrung zu bieten als sie zu beseitigen.

236
Tapirboy

Funktionell kein Unterschied, Google hat gerade den Namen von fill_parent in match_parent von API-Level 8 (Android 2.2) geändert. FILL_PARENT ist aus Kompatibilitätsgründen weiterhin verfügbar.

LayoutParams.FILL_PARENT und LayoutParams.MATCH_PARENT haben beide den Wert -1. Nicht sicher, was Google veranlasst hat, von Fill Parent zu Match Parent zu wechseln :)

Da die meisten von phones are >= Android 2.2 .. für zukünftige Kompatibilität verwendet werden sollten, sollten Sie Match Parent verwenden.

25
Umair

Aus Gründen der Kompatibilität ist es besser, fill_parent zu verwenden, d. H., Wenn Sie Geräte unter API 8 unterstützen. Wenn Ihre App jedoch API 8 oder höher unterstützt, sollten Sie stattdessen match_parent verwenden.

12
Olumide Oyetoke

match_parent wird anstelle von fill_parent verwendet und legt fest, dass es so weit geht, wie das übergeordnete Element. Verwenden Sie einfach match_parent und vergessen Sie fill_parent. Ich habe fill_parent komplett aufgegeben und alles ist wie immer perfekt. 

Überprüfen Sie hier für mehr. 

7
Koech

FILL_PARENT ist in API-Ebene 8 und MATCH_PARENTuse auf höherer Ebene veraltet

7
Avanish Kumar

Beide haben eine ähnliche Funktionalität. Der Unterschied besteht darin, dass fill_parent bis API-Ebene 8 und match_parent nach API-Ebene 8 oder höher verwendet wird.

5
Praveen Gaur

Nur um ihm einen Namen zu geben, der näher an der tatsächlichen Aktion liegt . "fill_parent" füllt den verbleibenden Speicherplatz nicht aus, wie der Name implizieren würde (hierfür verwenden Sie das Gewichtsattribut). Stattdessen nimmt es genauso viel Platz wie sein übergeordnetes Layout. Deshalb lautet der neue Name "match_parent"

5
Xar E Ahmer

Wenn Sie das Layout width und height als match_parent in der XML-Eigenschaft festlegen, nimmt es den gesamten Bereich der übergeordneten Ansicht ein, d. H. Er ist so groß wie der übergeordnete.

<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>

Hasenmutter ist rot und Kind ist grün. Kind besetzt den gesamten Bereich. Weil width und heightmatch_parent sind.

 enter image description here

Hinweis: Wenn übergeordnetes Element eine Auffüllung angewendet wird, wird dieses Leerzeichen nicht eingeschlossen. 

<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>

 enter image description here

TextView hight = 300dp (übergeordnete Höhe) - (20 (paddingTop) +10 (paddingBottom)) = (300 - 30) dp = 270 dp

fill_parent Vs match_parent

fill_parent ist der vorherige Name von match_parent

Für API-Ebene 8 und höher ist fill_parent umbenannt in match_parent und fill_parent ist jetzt veraltet.

fill_parent und match_parent sind also gleich. 

API-Dokumentation für fill_parent

Die Ansicht sollte so groß wie das übergeordnete Element sein (minus Auffüllen). Diese Konstante ist ab API Level 8 veraltet und wird durch {@code match_parent} ersetzt.

4
user4696837

match_parent und fill_parent sind die gleichen Eigenschaften und werden verwendet, um die Breite oder Höhe einer Ansicht im Vollbildmodus horizontal oder vertikal zu definieren.

Diese Eigenschaften werden in Android-XML-Dateien wie folgt verwendet.

 Android:layout_width="match_parent"
 Android:layout_height="fill_parent"

oder

 Android:layout_width="fill_parent"
 Android:layout_height="match_parent"

fill_parent wurde in früheren Versionen verwendet, aber jetzt wurde es veraltet und durch match_parent..__ ersetzt. Ich hoffe, es hilft Ihnen.

4
Mansuu....

Für mich fill parent und match parent führt nur die gleiche Funktion aus:

fill parent : Wurde vor API 8 verwendet

match parent Dies wurde von API 8 + Funktion von Both verwendet. Füllt die übergeordnete Ansicht neben der Auffüllung

3
Xcode

fill_parent: Die Ansicht sollte so groß sein wie das übergeordnete Element.

jetzt ist dieser Inhalt fill_parent veraltet und wird durch match_parent ersetzt.

3

match_parent, was bedeutet, dass die Ansicht so groß sein soll wie ihr übergeordnetes Element (minus Auffüllen).

wrap_content, was bedeutet, dass die Ansicht gerade groß genug sein soll, um ihren Inhalt einzuschließen (plus Auffüllen)

Zur besseren Veranschaulichung habe ich ein Beispiellayout erstellt, das dieses Konzept veranschaulicht. Um den Effekt zu sehen, habe ich einen Rand jedes textView-Inhalts hinzugefügt.

Im textView-Inhalt "Übergeordnete" können wir die Breite des Layouts über seine gesamte Länge sehen.

In "Wrap Content" sehen wir jedoch textView-Inhalte, deren Layoutbreite um die Länge des Inhalts (Wrap Content) gebunden ist.

 Android Layout

3

FILL_PARENT ist ab API-Ebene 8 und höher veraltet und wird für die übergeordneten Versionen in MATCH_PARENT umbenannt.

Beide sind gleich FILL_PARENT und MATCH_PARENT, FILL_PARENT wurde in der niedrigeren Version weniger als API-Ebene 8 verwendet und MATCH_PATENT werden in höheren API-Levels über 8 verwendet. 

FILL_PARENT (in API Level 8 und höher umbenannt MATCH_PARENT), was bedeutet, dass die Ansicht so groß sein soll wie ihr übergeordnetes Element (minus Auffüllen).

fill_parent: Die Ansicht sollte so groß sein wie das übergeordnete Element (ohne Auffüllen). Diese Konstante ist ab API Level 8 veraltet und wird durch match_parent ersetzt.

Für weitere Informationen besuchen Sie bitte diese Seite

2

FILL_PARENT wurde in API Level 8 und höher in MATCH_PARENT umbenannt, was bedeutet, dass die Ansicht so groß sein soll wie ihr übergeordnetes Element (minus Auffüllen) - Google

2

1. match_parent

Wenn Sie Layoutbreite und -höhe als match_parent festlegen, nimmt sie den gesamten Bereich der übergeordneten Ansicht ein, d. H. Sie ist so groß wie die übergeordnete Ansicht. 

Hinweis : Wenn für übergeordnetes Element eine Auffüllung angewendet wird, wird dieser Platz nicht eingeschlossen. 

Wenn wir standardmäßig eine layout.xml erstellen, haben wir RelativeLayout als standardmäßige übergeordnete Ansicht mit Android: layout_width = "match_parent" und Android: layout_height = "match_parent", d. H. Sie nimmt die gesamte Breite und Höhe des mobilen Bildschirms ein. 

Beachten Sie auch, dass das Auffüllen auf alle Seiten angewendet wird. 

Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"

Jetzt können wir eine Unteransicht LinearLayout hinzufügen und deren layout_width = "match_parent" und layout_height = "match_parent" festlegen. Die grafische Ansicht würde etwa Folgendes anzeigen: 

match_parent_example 

Code

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:

Dies ist dasselbe wie bei match_parent. Füllparameter wurde in API-Ebene 8 abgeschrieben. Wenn Sie also API-Ebene 8 oder höher verwenden, müssen Sie die Verwendung von fill_parent vermeiden 

Führen wir die gleichen Schritte wie bei match_parent aus, verwenden Sie stattdessen fill_parent überall. 

Sie würden sehen, dass sich das Verhalten von fill_parent und match parent nicht unterscheidet. 

0
hossam scott