LinearLayout (Horizontal y Vertical)
El Linear Layout
es el más sencillo. Dentro de él los elementos son ubicados en forma linear a
través de columnas o filas. Posee un atributo que permite modificar su
orientación, ya sea para presentar los elementos horizontal o Verticalmente.
Característica:
Realiza este
proceso de forma secuencial y nunca coloca un elemento sobre otro. Además,
también podemos aplicarle el parámetro gravity.
Funcionalidad:
Al utilizar
LinearLayout este distribuye por defecto el espacio para cada uno de los elementos
que agregamos. El peso permite variar este comportamiento si le asignamos a
cada elemento de pantalla un nivel de importancia. Este se verá reflejado en el
espacio ocupado.
Ejemplo Práctico:
LayoutVertical:
![]() |
LayoutHorizontal:
Grid Layout
El Gridlayout básicamente permite definir un grid
con filas y columnas y los elementos en el contenedor se ubican en las ‘celdas’
especificando un numero de columna y fila (row).
Características
Funcion:
Gridlayout, no es más q otro manejador de diseño, la cual
su particularidad, consiste en crear una matriz, totalmente configurada.
La
rejilla se compone de un conjunto de líneas infinitamente delgadas que separan
el área de visualización en las células. A través de la API, las líneas de
cuadrícula son referenciados por los índices de la cuadrícula. Una cuadrícula
con N columnas tiene N + 1 índices de rejilla que van de 0 a través de N ,
ambos inclusive. Independientemente de cómo se configura GridLayout, índice de
cuadrícula 0 se fija al borde de ataque del índice de contenedor y la red N se
fija a su borde de salida (después de relleno se tiene en cuenta).
Ejemplo
Práctico:
Relative Layout
El layout RelativeLayout
es el que dispone el ADT por defecto cuando creamos un proyecto en Android. Hay
varias posibilidades cuando empleamos el RelativeLayout. Primero podemos
alinear un control con respecto al Layout que lo contiene.
Permite
comenzar a situar los elementos en cualquiera de los cuatro lados del
contenedor e ir añadiendo nuevos elementos pegados a estos.
Caracteristica:
Ejemplo
Práctico:
FrameLayout
Diseño
de trama está diseñado para bloquear un área en la pantalla para mostrar un
solo elemento. Generalmente, FrameLayout debe usarse para mantener una vista de
un solo hijo, porque puede ser difícil organizar las vistas de los niños de una
manera que sea escalable a diferentes tamaños de pantalla sin que los niños se
superpongan entre sí.
Funcionalidad:
Todos
los objetos que se introduzcan se situarán en la esquina superior izquierda,
por lo que si hay más de uno, se ocultarán total o parcialmente entre ellos,
salvo que los declaremos como transparentes. Por este motivo, su uso ideal es
el de mostrar una sola imagen que complete toda la pantalla.
Características:
Los
componentes incluidos en un FrameLayout podrán establecer sus propiedades
android:layout_width
y android:layout_height, que podrán tomar los valores
“fill_parent”
(para que el control hijo tome la dimensión de su layout contenedor) o
“wrap_content”
(para que el control hijo tome la dimensión de su contenido).
Ejemplos Prácticos:
FRAGMENT
Un Fragment representa un
comportamiento o una porción de interfaz de usuario en una Activity . Puede
combinar varios fragmentos en una sola actividad para crear una interfaz de
usuario de varios paneles y reutilizar un fragmento en varias actividades. Se
puede pensar en un fragmento como una sección modular de una actividad, que
tiene su propio ciclo de vida, recibe sus propios eventos de entrada y que
puede agregar o quitar mientras se está ejecutando la actividad (algo así como
una "sub actividad" que puede Reutilización en diferentes
actividades).
Función
Estas nuevas entidades
permiten reusar código y ahorrar tiempo de diseño a la hora de desarrollar una
aplicación. Los fragmentos facilitan el despliegue de tus aplicaciones en
cualquier tipo de tamaño de pantalla y orientación.
Otra ventaja de usarlos es
que permiten crear diseños de interfaces de usuario de múltiples vistas. ¿Qué
quiere decir eso?, que los fragmentos son imprescindibles para generar
actividades con diseños dinámicos, como por ejemplo el uso de pestañas de
navegación, expand and collapse, stacking, etc.
Table Layout
Un TableLayout permite distribuir sus elementos
hijos de forma tabular, definiendo las filas y columnas necesarias, y la
posición de cada componente dentro de la tabla.
Función
Utilizando esta opción, se consigue una distribución
tabular de los elementos de nuestra interfaz. El comportamiento es similar al
empleado en HTML: se definen las filas, y dentro de ellas, las columnas. La
tabla tendrá tantas columnas como la fila con un mayor número de celdas. En cada
casilla, se podrá introducir el objeto deseado (e incluso dejarla vacía).
También existe la posibilidad de combinar celdas.
Características
Por norma general, el ancho de cada columna se
corresponderá con el ancho del mayor componente de dicha columna, pero existen
una serie de propiedades que nos ayudarán a modificar este comportamiento:
android:stretchColumns. Indicará las columnas que
pueden expandir para absorver el espacio libre dejado por las demás columnas a
la derecha de la pantalla.
android:shrinkColumns. Indicará las columnas que se
pueden contraer para dejar espacio al resto de columnas que se puedan salir por
la derecha de la palntalla.
android:collapseColumns. Indicará las columnas de la
tabla que se quieren ocultar completamente.
Todas estas propiedades del TableLayout pueden
recibir una lista de índices de columnas separados por comas (ejemplo:
android:stretchColumns=”1,2,3″) o un asterisco para indicar que debe aplicar a
todas las columnas (ejemplo: android:stretchColumns=”*”).
Otra característica importante es la posibilidad de
que una celda determinada pueda ocupar el espacio de varias columnas de la
tabla (análogo al atributo colspan de HTML). Esto se indicará mediante la
propiedad android:layout_span del componente concreto que deberá tomar dicho
espacio.
Ejercicio Práctico:
TABLEROW
TableRow es, a su vez, otra especialización de
LinearLayout. Esta vez de un LinearLayout horizontal. Así que resulta evidente
que, lo que se nos vende como una estructura de tabla, es en realidad un grupo
de LinearLayout horizontales dentro de un LinearLayout vertical.
Esta organización tampoco resulta tan extraña. De
hecho, es muy similar a la de las tablas en HTML, con las que este diseño
comparte otras características, como veremos a continuación.
Resulta evidente que cada TableRow representa una
fila de la tabla y que las vistas que contengan harán las veces de columnas. En
concreto, cada vista que se añade a un TableRow va a parar a una columna
diferente. Por ese motivo se suele decir que cada celda de un TableLayout sólo
puede contener una vista. No obstante, nada impide que cualquiera de esas
vistas sea un diseño y que contenga, a su vez otras vistas dentro.
Lo que diferencia a TableLayout de una estructura
similar creada con varios LinearLayout es el tratamiento global que le da a las
vistas que se incluyen en todos los TableRow. Para empezar, aunque cada
TableRow tenga una cantidad diferente de vistas en su interior, el conjunto se
representará como una tabla donde todas las filas tienen el mismo número de
columnas. La cantidad total de columnas que tendrá la tabla la determina el
TableRow que más vistas incluya. De forma similar, el ancho de cada columna
también vendrá determinado por la vista con mayor anchura de todas las
incluidas en esa columna, aún estando en diferentes TableRow.
Parámetros de TableRow
Como ya hemos comentado, TableRow es también una
especialización de LinearLayout. Por lo tanto, es un diseño. Y como tal puede
proporcionar parámetros para que se utilicen como atributos de las vistas que
se incluyan en él.
En concreto, la clase TableRow.LayoutParams
proporciona dos:
android:layout_column: sirve para colocar la vista a
la que se aplica en una columna diferente a la que le correspondería según el
orden en el que se ha incluido en el TableRow.
android:layout_span: permite que una vista ocupe más
de una columna. Tiene que tener un valor numérico igual o superior a
"1". El valor "1" es el predeterminado.
Ejercicio
Práctico:
Space
El
space es una subclase de vista ligera que se puede utilizar para crear espacios
entre los componentes en los diseños de propósito general.
Include Other Layout
Si
se refiere a la <include />, que sirve para incluir una
"sub-árbol" en el lugar donde se declara. En general, se utiliza a
menudo cuando se tiene un diseño que se puede reutilizar en otros diseños o
declarada por separado para una mejor organización.
Cuenta
con el atributo de diseño, donde se define la referencia a la disposición que
desea incluir.
EjemploPractico:
No hay comentarios:
Publicar un comentario