android - studio - Es una palabra obsoleta, la única diferencia entre fill_parent y match_parent
screen size android studio (4)
Encontré que fill_parent
y match_parent
significan lo mismo
- fill_parent significa que la vista desea ser tan grande como su padre, menos el relleno del padre, si lo hay.
- match_parent significa que la vista quiere ser tan grande como su padre, menos el relleno del padre, si lo hay.
La única diferencia que encontré es que fill_parent
está en desuso a partir del nivel 8 de API y se reemplaza por match_parent
Sin embargo, no noté ninguna diferencia entre estos dos. Si ambos son iguales entonces, ¿por qué fill_parent
está en desuso? ¿Alguien puede explicar alguna diferencia entre estos dos excepto por el hecho de que uno está en desuso y el otro no?
He pasado por http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
Adición a las respuestas existentes. Aquí hay una parte del código fuente de la clase LayoutParams
, las constantes FILL_PARENT y MATCH_PARENT se asignan al mismo valor. Así que tenemos absolutamente la misma funcionalidad.
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;
...
Como dijiste son exactamente iguales. Como dijo Romain Guy, cambiaron el nombre porque "fill_parent"
fue confuso para los desarrolladores. Como cuestión de hecho, "fill_parent"
no llena el espacio restante (para eso utiliza el atributo de peso) pero ocupa tanto espacio como su diseño principal. Es por eso que el nuevo nombre es "match_parent"
.
Me he desarrollado en Android el tiempo suficiente para darme cuenta de que no parece haber ninguna diferencia, excepto cuando se desea ejecutar en una API más antigua. Yo usaría fill_parent
porque hago todas mis aplicaciones con un mínimo de API 7. Además, en una nota lateral, ya que Android es compatible con versiones anteriores, este es el camino a seguir.
Según Romain Guy en this video, estas palabras marcan el mismo comportamiento. Pero muchos desarrolladores entendieron mal lo que significa fill_parent, por lo que se les ocurrió un alias.