Réponses:
C'est la même chose (dans l'API niveau 8+). Utilisez match_parent
.
FILL_PARENT (renommé MATCH_PARENT dans l'API niveau 8 et supérieur), ce qui signifie que la vue veut être aussi grande que son parent (moins le remplissage)
...
fill_parent
: La vue doit être aussi grande que son parent (moins le remplissage). Cette constante est déconseillée à partir du niveau 8 de l'API et est remplacée parmatch_parent
.
http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
-1
. Si vous vous sentez mieux à ce sujet, je n'ai pas non plus l'improvisation là-dedans ... :-)
-1
. Vous obtenez l'erreur car l'ancienne plate-forme ne connaît pas le nouveau nom de la même constante.
Google a changé le nom pour éviter toute confusion.
Le problème avec l'ancien nom fill parent
est qu'il implique qu'il affecte les dimensions du parent, alors qu'il match parent
décrit mieux le comportement résultant - faites correspondre la dimension avec le parent.
Les deux constantes se résolvent à -1
la fin et entraînent donc le même comportement dans l'application. Ironiquement, ce changement de nom apporté pour clarifier les choses semble avoir ajouté de la confusion plutôt que de l'éliminer.
Fonctionnellement, aucune différence, Google vient de changer le nom de fill_parent en match_parent, à partir du niveau d'API 8 (Android 2.2). FILL_PARENT est toujours disponible pour des raisons de compatibilité.
LayoutParams.FILL_PARENT
et les LayoutParams.MATCH_PARENT
deux ont la valeur -1. Je ne sais pas ce qui a tenté Google de passer de Fill Parent à Match Parent :)
Étant donné que la plupart des phones are >= Android 2.2
.. vous devez utiliser Match Parent pour une compatibilité future ... vous ne savez pas quand ils arrêteront l'ancienne constante Fill Parent!
Pour des raisons de compatibilité, il est préférable de s'en tenir à fill_parent, c'est-à-dire lors de la prise en charge des périphériques API 8 ci-dessous. Mais si votre application cible l'API 8 et les versions ultérieures, vous devez utiliser match_parent à la place.
FILL_PARENT
est déconseillé (comme mentionné par Matt Ball ci-dessus), alors la seule option pour la compatibilité directe est MATCH_PARENT
.
FILL_PARENT
est obsolète dans l'API niveau 8 et MATCH_PARENT
utilise l' API de niveau supérieur
Juste pour lui donner un nom plus proche de son action réelle . "fill_parent"
ne remplit pas l'espace restant comme son nom l'indique (pour cela, vous utilisez l'attribut weight). Au lieu de cela, il prend autant d'espace que son parent de disposition. Voilà pourquoi le nouveau nom est"match_parent"
Les deux ont des fonctionnalités similaires, seule la différence est que fill_parent est utilisé jusqu'au niveau d'API 8 et match_parent est utilisé après le niveau d'API 8 ou un niveau supérieur.
Lorsque vous définissez la mise en page width
et height
comme match_parent
dans la XML
propriété, il occupera toute la surface que la vue parent a, par exemple , il sera aussi grand que le parent.
<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>
Le parent de lièvre est rouge et l'enfant est vert. L'enfant occupe toute la zone. Parce que c'est width
et height
c'est match_parent
.
Remarque: Si un parent est appliqué un remplissage, cet espace ne serait pas inclus.
<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>
Donc TextView hight = 300dp (hauteur parent) - (20 (paddingTop) +10 (paddingBottom)) = (300 - 30) dp = 270 dp
fill_parent
est le nom précédent de match_parent
Pour API niveau 8 et supérieur fill_parent
renommée match_parent
et fill_parent
obsolète maintenant.
Alors fill_parent
et match_parent
sont les mêmes.
La vue doit être aussi grande que son parent (moins le remplissage). Cette constante est obsolète à partir du niveau 8 de l'API et est remplacée par {@code match_parent}.
match_parent, ce qui signifie que la vue veut être aussi grande que son parent (moins le remplissage).
wrap_content, ce qui signifie que la vue veut être juste assez grande pour contenir son contenu (plus le remplissage)
Pour une meilleure illustration, j'ai créé un exemple de mise en page qui illustre ce concept. Pour voir son effet, j'ai ajouté une bordure de chaque contenu textView.
Dans le contenu textView "Match parent", nous pouvons voir sa largeur de mise en page étalée sur toute sa longueur parent.
Mais nous pouvons voir dans "Wrap Content" textView content, sa largeur de mise en page enveloppée dans sa longueur de contenu (Wrap Content).
match_parent
et fill_parent
sont la même propriété, utilisée pour définir la largeur ou la hauteur d'une vue en plein écran horizontalement ou verticalement.
Ces propriétés sont utilisées dans des fichiers xml Android comme celui-ci.
android:layout_width="match_parent"
android:layout_height="fill_parent"
ou
android:layout_width="fill_parent"
android:layout_height="match_parent"
fill_parent
était utilisé dans les versions précédentes, mais il est désormais obsolète et remplacé par match_parent
. J'espère que ça vous aidera.
fill_parent: la vue doit être aussi grande que son parent.
maintenant ce contenu fill_parent est obsolète et remplacé par match_parent.
FILL_PARENT a été renommé MATCH_PARENT dans l'API de niveau 8 et supérieur, ce qui signifie que la vue veut être aussi grande que son parent (moins le remplissage) - Google
FILL_PARENT
est obsolète à partir de l'API de niveau 8 et supérieur et il est renommé pour les versions supérieures en MATCH_PARENT
Les deux sont identiques FILL_PARENT
et MATCH_PARENT
, a FILL_PARENT
été utilisé dans la version inférieure inférieure au niveau API 8 et MATCH_PATENT sont utilisés dans le niveau API supérieur supérieur à 8.
FILL_PARENT
(renommé MATCH_PARENT
dans l'API niveau 8 et supérieur), ce qui signifie que la vue veut être aussi grande que son parent (remplissage moins)
fill_parent
: La vue doit être aussi grande que son parent (moins le remplissage). Cette constante est déconseillée à partir du niveau 8 de l'API et est remplacée par match_parent
.
Pour plus de détails, visitez cette page
1. match_parent
Lorsque vous définissez la largeur et la hauteur de la disposition sur match_parent, il occupera la zone complète de la vue parent, c'est-à-dire qu'il sera aussi grand que le parent.
Remarque : Si un parent est appliqué un remplissage, cet espace ne serait pas inclus.
Lorsque nous créons un layout.xml par défaut, nous avons RelativeLayout comme vue parent par défaut avec android: layout_width = "match_parent" et android: layout_height = "match_parent", c'est-à-dire qu'il occupe la largeur et la hauteur complètes de l'écran mobile.
Notez également que le rembourrage est appliqué sur tous les côtés,
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
Permet maintenant d'ajouter une sous-vue LinearLayout et définit ses layout_width = "match_parent" et layout_height = "match_parent", la vue graphique afficherait quelque chose comme ceci,
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:
C'est la même chose que match_parent, fill_parent a été déprécié dans l'API niveau 8. Donc, si vous utilisez l'API niveau 8 ou supérieur, vous devez éviter d'utiliser fill_parent
Permet de suivre les mêmes étapes que nous avons fait pour match_parent, utilisez plutôt fill_parent à la place.
Vous verriez qu'il n'y a aucune différence de comportement entre fill_parent et match parent.