J'ai trouvé que les deux fill_parent
et match_parent
signifie la même chose
La seule différence que j'ai trouvée est que fill_parent
est obsolète à partir de l'API niveau 8 et est remplacé par match_parent
Cependant, je n'ai remarqué aucune différence entre ces deux. Si les deux sont identiques, pourquoi fill_parent
obsolète. Quelqu'un peut-il expliquer les différences entre ces deux, à l'exception du fait que l'un est obsolète et l'autre ne l'est pas?
J'ai traversé http://developer.Android.com/reference/Android/view/ViewGroup.LayoutParams.html
Comme vous l'avez dit, ils sont exactement les mêmes. Comme Romain Guy l'a dit, ils ont changé de nom parce que "fill_parent"
était déroutant pour les développeurs. En fait, "fill_parent"
ne remplit pas l'espace restant (pour cela, vous utilisez l'attribut weight) mais il prend autant d'espace que son parent de disposition. C'est pourquoi le nouveau nom est "match_parent"
.
Selon Romain Guy dans this video, ces mots marquent le même comportement. Mais de nombreux développeurs ont mal compris ce que fill_parent voulait dire, ils ont donc trouvé un alias.
J'ai développé en Android assez longtemps pour réaliser également qu'il ne semble pas y avoir de différence sauf lorsque vous voulez exécuter sur une ancienne API. J'utiliserais fill_parent
parce que je crée toutes mes applications avec l'API 7 minimum. De plus, étant donné que Android est compatible en amont, c'est la voie à suivre.
Ajout aux réponses existantes. Voici une partie du code source de la classe LayoutParams
, les constantes FILL_PARENT et MATCH_PARENT ont la même valeur. Nous avons donc absolument la même fonctionnalité.
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;
...