Está en la página 1de 4

Componentes de interfaz de Android

 LinearLayout

 RelativeLayout

 TableLayout

 FrameLayout

 ConstraintLayout

 GridLayout

Layout

El Layout representa el diseño de la interfaz de usuario de componentes gráficos, ellos se encargan


de mantener un orden visual para facilitar la comunicación del usuario con la interfaz de la
aplicación.

LinearLayout

LinearLayout Es uno de los Layout mas utilizados ya que distribuye los elementos uno detrás de
otro, de manera vertical u horizontal, puede especificar la dirección del diseño con el atributo
Android:orientación, por lo cual una lista vertical solo tendrá un campo segundario por fila,
independientemente el ancho que tenga, y una lista horizontal solo tendrá la altura de una fila(la
altura del campo secundario mas alto, mas el relleno).

Atributos:

android:id : Este es el ID que identifica de forma única el diseño.

android: baselineAligned: Este debe ser un valor booleano, ya sea "verdadero" o "falso" e impide
que el diseño alinee las líneas de base de sus hijos.

android:divider: Esto es dibujable para usar como un divisor vertical. Utiliza un valor de color, en
forma de "#rgb", "#argb", "#rrggbb" o "#aarrggbb"

android:gravity: Esto especifica cómo un objeto debe colocar su contenido, tanto en el eje X como
en el eje Y. Los valores posibles son: top, bottom, left, right, center, center_vertical,
center_horizontal

android:orientation: Esto especifica la dirección de la disposición y usará "horizontal" para una fila,
"vertical" para una columna. El valor predeterminado es horizontal.
RelativeLayout

Permite situar los elementos en cual quiera de los 4 lados del contenedor, Su principal
característica es que los widgets que estén dentro de este contenedor basaran su posición en
relación con los otros elementos. Ejemplo: Podemos definir que un widget quede debajo de otro y
a su vez este se alinee verticalmente con otro widgets.

Los atributos para posicionar los elementos con relación a otro widgets:

android:layout_above: Indica que el elemento se posicionará justo encima del elemento que tiene
el ID definido como valor de este atributo.

android:layout_toLeftOf: Indica que el elemento se posicionará a la izquierda del elemento cuyo ID


coincida con el definido en el valor de este atributo.

android:layout_toRightOf: Indica que el elemento se posicionará a la derecha del elemento cuyo


ID coincida con el definido en el valor de este atributo.

android:layout_bottom: Posiciona al elemento debajo del que tenga la ID proporcionada en el


valor del atributo

También hay una serie de atributos con valores Boolean(False o True):

android:layout_alignParentTop: Indica al widget que su borde superior deberá estar alineado con
el borde superior del contenedor.

android:layout_alignParentBottom: Indica al widget que su borde inferior deberá estar alineado


con el borde inferior del contenedor.

android:layout_alignParentLeft: Indica al widget que su borde izquierdo deberá estar alineado con
el borde izquierdo del contenedor.

android_layout_alignParentRight: Indica al widget que su borde derecho deberá estar alineado


con el borde izquierdo del contenedor.

android:layout_centerHorizontal: Permite centrar horizontalmente al widget con respecto a su


contenedor.

android:layout_centerVertical: Permite centrar verticalmente al widget con respecto a su


contenedor.

android:layout_centerInParent: Permite centrar un widget en la mitad de la pantalla.

TableLayout

TableLayout hereda directamente de LinearLayout, por lo que dispone de todas sus propiedades
,distribuye los elementos de forma tabular, agrupa los elementos en filas y columnas, los
contenedores de diseño de tabla no muestran una línea de borde para sus columnas, filas o celdas.
Para construir una fila en una tabla usaremos el elemento <TableRow>. Los objetos de fila de tabla
son las vistas secundarias de un diseño de tabla. Cada fila de la tabla tiene cero o más celdas y
cada celda puede contener solo un objeto de vista como ImageView, TextView o cualquier otra
vista. El ancho total de una tabla está definido por su contenedor principal.

Atributos:

android:id : Este es el ID que identifica de forma única el diseño.

android:stretchColumns: permite que una columna se expanda aumentando su anchura hasta que
todo el contenido del TableLayout ocupe la totalidad de la anchura de su contenedor.

android:shrinkColumns: El atributo de columna de reducción se utiliza para reducir el ancho de la


columna

android:collapseColumns: permite ocultar columnas, como si no estuvieran en el diseño. El


espacio que dejan lo ocupan el resto de columnas.

FrameLayout

Este Layout permite el cambio dinamico de los elementos que contiene. posiciona las vistas usando
todo el contendor, suele utilizarse cuando quieras que varias vistas ocupen un mismo lugar, De
manera simple, podemos decir que FrameLayout está diseñado para bloquear un área en la pantalla
para mostrar un solo elemento.

android:id : Este es el ID que identifica de forma única el diseño.

android:foreground: Esto define la posibilidad de dibujar sobre el contenido y los valores posibles
pueden ser un valor de color, en forma de "#rgb", "#argb", "#rrggbb" o "#aarrggbb".

android:foregroundGravity: Define la gravedad que se aplicará al plano dibujable. La gravedad se


llena por defecto. Los valores posibles son: top, bottom, left, right, center, center_vertical,
center_horizontal

android:measureAllChildren:

android:visibility: Esto determina si hacer la vista visible, invisible o desaparecida.

ConstraintLayout

ConstraintLayout nos permitirá simplificar las interfaces en anidamiento, para hacerlas lo más
complejas posibles a nivel de diseño. Este layout, similar al RelativeLayout nos permitirá establecer
relaciones entre todos los elementos y la propia vista padre, permitiendo así ser mucho más flexible
que los demás.

Con un estilo muy visual, podremos desde Android Studio gestionar todas las relaciones que
establezcamos, de un modo muy sencillo, al más puro estilo drag-and-drop, en lugar de necesitar
utilizar el fichero XML.
Este layout incluye un modo llamado Autoconnect, el cual una vez activado, cada vez que añadamos
una vista al layout permitirá crear dos o más restricciones (constraint) para cada vista, para asignarlo
al espacio donde nosotros la hemos soltado

GrindLayout

Este tipo de layout fue incluido a partir de la API 14 (Android 4.0) y sus características son similares
al TableLayout, ya que se utiliza igualmente para distribuir los diferentes elementos de la interfaz
de forma tabular, distribuidos en filas y columnas. La diferencia entre ellos estriba en la forma que
tiene el GridLayout de colocar y distribuir sus elementos hijos en el espacio disponible. En este caso,
a diferencia del TableLayout indicaremos el número de filas y columnas como propiedades del
layout, mediante android:rowCount y android:columnCount. Con estos datos ya no es necesario
ningún tipo de elemento para indicar las filas, como hacíamos con el elemento TableRow del
TableLayout, sino que los diferentes elementos hijos se irán colocando ordenadamente por filas o
columnas (dependiendo de la propiedad android:orientation) hasta completar el número de filas o
columnas indicadas en los atributos anteriores. Adicionalmente, igual que en el caso anterior,
también tendremos disponibles las propiedades android:layout_rowSpan y
android:layout_columnSpan para conseguir que una celda ocupe el lugar de varias filas o columnas.

Existe también una forma de indicar de forma explícita la fila y columna que debe ocupar un
determinado elemento hijo contenido en el GridLayout, y se consigue utilizando los atributos
android:layout_row y android:layout_column. De cualquier forma, salvo para configuraciones
complejas del grid no suele ser necesario utilizar estas propiedades.

También podría gustarte