Estoy un poco confundido acerca de dos propiedades XML: match_parent
y fill_parent
. Parece que ambos son iguales. ¿Hay alguna diferencia entre ellos?
android
android-layout
vnshetty
fuente
fuente
Respuestas:
Son lo mismo (en API Nivel 8+). Uso
match_parent
.http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html
fuente
-1
. Me siento mejor al respecto, tampoco entiendo la mejora en eso ... :-)-1
. Obtiene el error porque la plataforma anterior no conoce el nuevo nombre de la misma constante.Google cambió el nombre para evitar confusiones.
El problema con el nombre antiguo
fill parent
era que implica que afecta las dimensiones del padre, mientras quematch parent
describe mejor el comportamiento resultante: emparejar la dimensión con el padre.Ambas constantes se resuelven al
-1
final y, por lo tanto, dan como resultado un comportamiento idéntico en la aplicación. Irónicamente, este cambio de nombre hecho para aclarar las cosas parece haber agregado confusión en lugar de eliminarlo.fuente
Funcionalmente no hay diferencia, Google acaba de cambiar el nombre de fill_parent a match_parent, de API nivel 8 (Android 2.2). FILL_PARENT todavía está disponible por razones de compatibilidad.
LayoutParams.FILL_PARENT
yLayoutParams.MATCH_PARENT
ambos tienen valor -1. No estoy seguro de qué tentaron a google a cambiar de Rellenar padre para emparejar padre :)Dado que la mayoría de los
phones are >= Android 2.2
... debe usar Match Parent para compatibilidad futura ... ¡no estoy seguro de cuándo interrumpirán la constante Fill Parent más antigua!fuente
Por razones de compatibilidad, es mejor apegarse a fill_parent, es decir, cuando se admiten dispositivos inferiores a API 8. Pero si su aplicación está dirigida a API 8 y hacia arriba, debería usar match_parent en su lugar.
fuente
FILL_PARENT
está en desuso (como mencionó Matt Ball anteriormente), entonces la única opción para la compatibilidad con versiones anteriores esMATCH_PARENT
.FILL_PARENT
está en desuso en el nivel 8 de la API yMATCH_PARENT
utiliza una API de nivel superiorfuente
match_parent se usa en lugar de fill_parent y lo configura para ir tan lejos como lo haga el padre. Solo usa match_parent y olvídate de fill_parent . Completamente abandoné fill_parent y todo es perfecto como siempre.
Consulta aquí para más.
fuente
Solo para darle un nombre más cercano a su acción real .
"fill_parent"
no llena el espacio restante como su nombre lo implicaría (para eso usa el atributo de peso). En cambio, ocupa tanto espacio como su diseño principal. Por eso el nuevo nombre es"match_parent"
fuente
Ambos tienen una funcionalidad similar, la única diferencia es que fill_parent se usa hasta el nivel API 8 y match_parent se usa después del nivel API 8 o nivel superior.
fuente
Cuando establece el diseño
width
yheight
comomatch_parent
en laXML
propiedad, ocupará el área completa que tiene la vista principal, es decir, será tan grande como la principal.El padre de la liebre es rojo y el niño es verde. El niño ocupa toda el área. Porque es
width
yheight
sonmatch_parent
.Nota: Si se aplica un relleno a los padres, ese espacio no se incluiría.
Entonces TextView hight = 300dp (padre alto) - (20 (paddingTop) +10 (paddingBottom)) = (300-30) dp = 270 dp
fill_parent Vs match_parent
fill_parent
es el nombre anterior dematch_parent
Para API Nivel 8 y superior
fill_parent
renombrado comomatch_parent
yfill_parent
ahora está en desuso.Así
fill_parent
ymatch_parent
son iguales.Documentación de API para fill_parent
La vista debe ser tan grande como su padre (menos el relleno). Esta constante está en desuso a partir del Nivel 8 de API y se reemplaza por {@code match_parent}.
fuente
match_parent, lo que significa que la vista quiere ser tan grande como su padre (menos el relleno).
wrap_content, lo que significa que la vista quiere ser lo suficientemente grande como para encerrar su contenido (más relleno)
En aras de una mejor ilustración, he creado un diseño de muestra que demuestra este concepto. Para ver su efecto, agregué un borde de cada contenido textView.
En el contenido textView de "Emparejar padre", podemos ver su ancho de diseño extendido a lo largo de su longitud padre.
Pero podemos ver en el texto "Ajustar contenido" Ver contenido, su ancho de diseño envuelto en su contenido (Ajustar contenido).
fuente
match_parent
yfill_parent
son la misma propiedad, utilizada para definir el ancho o la altura de una vista en pantalla completa horizontal o verticalmente.Estas propiedades se usan en archivos xml de Android como este.
o
fill_parent
se usaba en versiones anteriores, pero ahora ha quedado obsoleto y reemplazado pormatch_parent
. Espero que te ayude.fuente
fill_parent: la vista debe ser tan grande como su padre.
ahora este contenido fill_parent está en desuso y reemplazado por match_parent.
fuente
Para mí, llenar padre y emparejar padre realiza la misma función solo que:
llenar padre : se usó antes de API 8
match parent Esto se usó desde la función API 8+ de ambos rellena la vista principal a un lado del relleno
fuente
FILL_PARENT pasó a llamarse MATCH_PARENT en el nivel de API 8 y superior, lo que significa que la vista quiere ser tan grande como su padre (menos relleno) - Google
fuente
FILL_PARENT
está en desuso desde el nivel de API 8 y superior y se renombra para las versiones superiores comoMATCH_PARENT
Ambos son iguales
FILL_PARENT
yMATCH_PARENT
,FILL_PARENT
se usó en la versión inferior a menos del nivel de API 8 y MATCH_PATENT se usa en el nivel de API superior a 8.FILL_PARENT
(renombradoMATCH_PARENT
en API Nivel 8 y superior), lo que significa que la vista quiere ser tan grande como su padre (menos relleno)fill_parent
: La vista debe ser tan grande como su padre (menos el relleno). Esta constante está en desuso a partir del nivel de API 8 y se reemplaza pormatch_parent
.Para más detalles, visite esta página
fuente
1. match_parent
Cuando establece el ancho y la altura del diseño como match_parent, ocupará el área completa que tiene la vista principal, es decir, será tan grande como el principal.
Nota : Si a los padres se les aplica un relleno, ese espacio no se incluiría.
Cuando creamos un layout.xml de forma predeterminada, tenemos RelativeLayout como Vista principal predeterminada con android: layout_width = "match_parent" y android: layout_height = "match_parent", es decir, ocupa todo el ancho y alto de la pantalla del dispositivo móvil.
También tenga en cuenta que el relleno se aplica a todos los lados,
Ahora agreguemos una subvista LinearLayout y establezca su layout_width = "match_parent" y layout_height = "match_parent", la vista gráfica mostraría algo como esto,
match_parent_example
Código
2. fill_parent:
Esto es lo mismo que match_parent, fill_parent se depreció en el nivel 8 de la API. Por lo tanto, si usa el nivel 8 o superior de la API, debe evitar el uso de fill_parent
Sigamos los mismos pasos que hicimos para match_parent, solo use fill_parent en todas partes.
Vería que no hay diferencia de comportamiento tanto en fill_parent como en match parent.
fuente