Un layout contiene hijos que pueden ser vistas o bien otros contenedores, formando así una jerarquía de componentes.
Existen varios tipos de layout que pasamos a describir.
FrameLayout
Muestra todas sus vistas hijas una encima de otra.Las vistas se colocan una encima de otra según el orden en que se van añadiendo al layout (la última vista añadida es la que se muestra arriba del todo).
TableLayout
Organiza las vistas hijas en en filas y columnas. Cada fila es un contenedor de tipo TableRow.
El número de columnas será igual al número de celdas del TableRow con más celdas.
Las vistas hijas no pueden especificar layout_width.
Las celdas pueden abarcar varias columnas.
LinearLayout
Organiza las vistas hijas en una fila horizontal o vertical, según el atributo:
- orientation
- layout_weight (peso)
Cuando layout_weight = 0 entonces la vista hija ocupa el espacio necesario según su contenido.
Por defecto, todas las vistas tienen el mismo peso con valor cero y ocuparán el espacio necesario según su contenido.
El comportamiento es el siguiente: las vistas con layout_weight = 0 ocupan el espacio que necesitan según su contenido; el resto de vistas con layout_weight > 0 se reparten el espacio restante proporcionalmente al valor de layout_weight.
Si una vista tiene layout_weight > 0 entonces hay que poner layout_width = 0 y layout_height = 0 para evitar problemas.
RelativeLayout
Organiza sus vistas hijas según su posición relativa a otras vistas y al propio layout.
Atributos de las vistas para alinear con el layout padre:
- layout_alignParentTop, Bottom, Left, Right: true o false
- layout_centerHorizontal, Vertical, InParent: true o false
- layout_alignTop, Bottom, Left, Right: id de la otra vista
- layout_alignBaseline: id de la otra vista
Atributos de las vistas para situarse junto a otra vista:
- layout_above, below, leftOf, rightOf: id de la otra vista
No hay comentarios:
Publicar un comentario