Esta entrada va a ser un poco teórica, pero creo que es importante dar un conocimiento general de los diferentes Layouts que disponemos para trabajar en Android, así cuando nos llegue el momento de llevar a cabo el diseño de una aplicación nos resulte un poco más sencillo elegir el Layout que necesitamos para realizar nuestro diseño.
Un Layout es un fichero XML y se encarga de establecer el diseño de la interfaz de usuario (en inglés user interfaz (UI)). En la paleta de elementos que nos ofrece Android Studio se encuentran los elementos disponibles para insertar en nuestra aplicación. Para insertar estos elementos en nuestro dispositivo basta con arrastarlos. El primer desplegable que nos ofrece la paleta de elementos son los Layouts, estos Layouts se pueden definir como un contenedor padre y según el tipo de Layout que empleemos los elementos que insertemos se comportaran de una manera u otra.
Antes de empezar, os recomiendo hacer lo que muestro en la siguiente imagen y así simplemente podéis probar arrastrando elementos al azar y ver como van actuando en cada tipo de Layout. Crear los ficheros XML manualmente, botón secundario sobre Layout, New, File.
FrameLayout: generalmente este Layout suele usarse para mostrar un único elemento en la UI. Android Stuido nos permite posicionar hasta 9 elementos, pero si posicionamos dos elementos en el mismo recuadro verde veréis que se sobreponen y no son legibles.
LinearLayout: coloca los elementos unos detrás de otros de manera lineal, o bien de forma vertical o bien de forma horizontal.
Tanto el Layout vertical como el horizontal pueden ser padres e hijos unos de otros. El elemento padre es capaz de contener uno o mas hijos, es decir tenemos un LinearLayout(Vertical) y dentro de éste un LinearLayout(Horizontal), es decir, el primero es el padre y el segundo es el hijo, porque el padre contiene al hijo.
TableLayout: dentro de este Layout podemos definir filas y columnas para situar los elementos. En Android Studio, directamente al arrastrar un elemento nos aparecerá una cuadricula verde en la que podremos ir situando los distintos elementos. Básicamente, es una matriz de elementos.
TableRow: debe ser usado como hijo de un TableLayout. Básicamente éste Layout es una tabla de columnas.
GridLayout: es un elemento similar al TableLayout ya que sus elementos se distribuyen en filas y columnas pero con el inconveniente de que solo se puede utilizar a partir de la API 14.
RelativeLayout: nos permite colocar cada elemento de forma relativa a cualquier elemento dentro del propio RelativeLayout.
Una vez que ya tenemos una idea general de cada uno de los Layouts, os recomiendo que probéis a diseñar pequeñas User Interface (UI) arrastando diferentes elementos y distintos Layoutssimplemente arrastrándolos.
Para terminar, puede que esto suene un poco aburrido y que no sea la mejor entrada hasta ahora, solo decir que de mi poca experiencia programando en Android los Layouts que mas he utilizado han sido los LinearLayout. Otra cosa importante es que según el tipo de Layout que utilicemos los elementos pueden tener distintos atributos. Los atributos más comunes son los que vamos a conocer en la próxima entrada.