Pregunta

Estoy confundido acerca de la diferencia entre LinearLayout, RelativeLayout y AbsoluteLayout.¿Alguien podría decirme las diferencias exactas entre ellos?

¿Fue útil?

Solución

LinearLayout significa que puede alinear las vistas una por una (vertical/horizontalmente).

RelativeLayout medios basados ​​en la relación de puntos de vista de sus padres y otros puntos de vista.

ConstraintLayout es similar a RelativeLayout en que usa relaciones para posicionar y dimensionar widgets, pero tiene flexibilidad adicional y es más fácil de usar en el Editor de diseño.

WebView para cargar páginas html, estáticas o dinámicas.

FrameLayout Para cargar hijos uno encima de otro, como tarjetas dentro de un marco, podemos colocar uno encima de otro o en cualquier lugar dentro del marco.

obsoleto - AbsoluteLayout significa que tienes que dar la posición exacta donde debería estar la vista.

Para obtener más información, consulte esta dirección. https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts

Otros consejos

Definiciones:

  • Diseño del marco: esto está diseñado para bloquear un área en la pantalla para mostrar un solo elemento.
  • Diseño lineal: un diseño que organiza a sus hijos en una sola columna o una sola fila.
  • Diseño relativo: este diseño es un grupo de vista que muestra vistas infantiles en posiciones relativas.
  • Diseño de la tabla: un diseño que organiza a sus hijos en filas y columnas.

Más información:

FrameLayout

Framelayout está diseñado para bloquear un área en la pantalla para mostrar un solo elemento. En general, Framelayout debe usarse para mantener una vista infantil, ya que puede ser difícil organizar las vistas de los niños de una manera escalable para diferentes tamaños de pantalla sin que los niños se superpongan entre sí. Sin embargo, puede agregar varios niños a una framelayout y controlar su posición dentro del framelayout asignando gravedad a cada niño, utilizando el android:layout_gravity atributo.

Las vistas infantiles se dibujan en una pila, con el niño agregado más recientemente en la parte superior. El tamaño del Framelayout es del tamaño de su hijo más grande (más el relleno), visible o no (si el padre de Framelayout lo permite).

RelativeLayout

Un RelativeLayOut es una utilidad muy poderosa para diseñar una interfaz de usuario porque puede eliminar grupos de vista anidados y mantener su jerarquía de diseño plana, lo que mejora el rendimiento. Si se encuentra utilizando varios grupos anidados de LineAleLayout, es posible que pueda reemplazarlos con una sola relativeLayOut.

(Documentos actuales aquí)

TableLayout

Una TablelayOut consiste en una serie de TableRow Los objetos, cada uno que define una fila (en realidad, puede tener otros hijos, que se explicarán a continuación). Los contenedores de Tablelayout no muestran líneas de borde para sus filas, columnas o celdas. Cada fila tiene cero o más celdas; Cada celda puede contener un objeto de vista. La tabla tiene tantas columnas como la fila con la mayoría de las celdas. Una tabla puede dejar las celdas vacías. Las celdas pueden abarcar columnas, como pueden en HTML.

El ancho de una columna está definido por la fila con la celda más ancha en esa columna.


Nota: El diseño absoluto está en desuso.

LinearLayout: Un diseño que organiza a sus hijos en una sola fila horizontal o vertical. Crea una barra de desplazamiento si la longitud de la ventana excede la longitud de la pantalla. Significa que puede alinear las vistas una por una (vertical/ horizontalmente).

Disposición relativa : Esto le permite especificar la ubicación de los objetos infantiles entre sí (niño A a la izquierda del niño B) o al padre (alineada en la parte superior del padre). Se basa en la relación de puntos de vista de sus padres y otros puntos de vista.

WebView: Para cargar páginas HTML, estáticas o dinámicas.

Para obtener más información, consulte este enlace:http://developer.android.com/guide/topics/ui/layout-objects.html

LinearLayout - En LinealLayout, las vistas se organizan en orientación vertical u horizontal.

Disposición relativa - RelativeLayOut es mucho más complejo que LinearLayout, por lo tanto, proporciona muchas más funcionalidades. Las vistas se colocan, como su nombre indica, en relación entre sí.

Framelayout - Se comporta como un solo objeto y sus opiniones infantiles se superponen entre sí. Framelayout toma el tamaño de según el elemento infantil más grande.

Diseño del coordinador - Este es el Grupo View más potente introducido en la Biblioteca de soporte de Android. Se comporta como framelayout y tiene muchas funcionalidades para coordinar entre sus vistas infantiles, por ejemplo, botón flotante y barra de snackbar, barra de herramientas con vista desplazable.

Gran explicación aquí:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android

LinearLayout organiza elementos uno al lado del otro, ya sea horizontal o verticalmente.

Disposición relativa Le ayuda a organizar sus elementos de interfaz de usuario en función de reglas específicas. Puede especificar reglas como: Alinear esto con el borde izquierdo de los padres, colocar esto a la izquierda/derecha de estos elementos, etc.

Absolutelayout es para posicionamiento absoluto, es decir, puede especificar coordenadas exactas donde debe ir la vista.

Framelayout Permite ubicaciones de vistas a lo largo del eje Z. Eso significa que puede apilar sus elementos de vista uno encima del otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top