Usuario:ManuelRomero/Android/Interfaz/layout

FrameLayout

 * Es el layout más sencillo de utilizar, y a veces conviene tenerlo en cuenta
 * Es especialmente útil si sólo queremos mostrar un elemento
 * Si mostramos varios, los mostrará desde la esquina superior izquierda, pero se solaparán
 * Esta posición se puede cambiar con la propiedad layout_gravitydel FrameLayout
 * Para distribuirlo por la pantalla de forma que no se solape se puede modificar la propiedad layout_gravity de los objetos View  que ubiquemos en el layout
 * Algunos de sus atributos importantes:
 * 1) foreground Imagen o color de fondo
 * 2) foregroundGravity posicion de la imagen de fondo
 * 3) measureAllChildern
 * 4) layout_gravityubicación en la pantalla de los elementos que incorporemos
 * Es posible especificar varios valores separados por |

180px http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
 * Referencia para las figuras shape

LinearLayout
Es un tipo layout muy sencillo de utilizar a la hora de poner simplemente componentes
 * Organiza sus componentes View en una sola fila o en una sola comuna
 * Los atributos se pueden encontrar en ''android.widget.LinearLayout.LayoutParams
 * Alguno de sus atributos mas importantes
 * 1) orientation=horizontal|vertical
 * 2) gravity colocación de los componentes
 * 3) weighSum Suma de todos los pesos de los componente por defecto 1
 * 4) layout_gravity colocación de un componente
 * 5) layout_weight peso de un componente

180px

RelativeLayout

 * Permite especificar los View en posición relativa o respecto a otro View
 * También se puede especifivar el control View con respecto a los límites del contenedor padre
 * Este tipo de distribución de controles View por un contenedor puede resultar a priory un poco complicada, pero controlando los atributos de dicho layout, se pueden hacer diseños muy atractivos sin tener que usar diferentes niveles de layouts.
 * Este tipo de layout tiene varios atributos importantes que se usan bastante


 * 1) gravity
 * 2) layoutCenterInParent
 * 3) layoutCenterHorizontal
 * 4) layoutCenterVertical



TableLayout

 * El diseño de este layout recuerda un poco al diseño de tablas en html
 * Organiza sus View en filas
 * Para añadir componentes dentro de cada fila se utiliza diseños TableRow
 * Un TableRow se comporta como un LinearLayout con orientation=horizontal
 * El orden en que se incorpore es el que mantendrá visualmente
 * Si no queremos usar alguna columna se debe de especificar números y no contabilizar aquellos que correspondan a las columnas que no queremos que aparezcan (ver ejemplo)
 * El tamaño de las columnas se ajustará a la columna con más tamaño
 * Lista de atributos más significativos
 * La lista completa la tenemos en android.widget.TableLayout.LayoutParams

180px

GridLayout

 * Introducido en Android 4.0 (API 14)
 * Organiza los componentes en una cuadrícula
 * Es parecido al TableLayout, pero a direfencia de éste cada View puede abarcar varios filas y/o columnas.
 * En este caso la renderización es mucho mejor, ya que son los View contenidos quien indica donde quiere ser ubicado
 * Lista de atributos más significativos
 * La lista completa la tenemos en android.widget.GridLayout.LayoutParams

Imagen:GridLayoutAndroid.png