web-dev-qa-db-fra.com

Est obsolète Word la seule différence entre fill_parent et match_parent

J'ai trouvé que les deux fill_parent et match_parent signifie la même chose

  • fill_parent signifie que la vue veut être aussi grande que son parent, moins le remplissage du parent, le cas échéant.
  • match_parent signifie que la vue veut être aussi grande que son parent, moins le remplissage du parent, le cas échéant.

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

67
Sunil Kumar Sahoo

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

90
gwvatieri

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.

9

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.

7
stacksonstacks

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;
    ...
3
mes