domingo, 11 de diciembre de 2016

TIPOS DE LAYOUT

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.
 Ejemplos Prácticos:

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