Programación Android, LinearLayout

Como ya se ha dicho, un LinearLayout es un contenedor que utiliza el modelo de caja para desplegar los elementos que están dentro de él. Los widgets y contenedores secundarios que se declaren dentro de un elemento LinearLayout se alinearán en una columna o en una fila, uno detrás de otro. Para indicar si se ordena en forma de filas o de columnas lo hacemos a través de su propiedad android:orientation, que admite valores “horizontal” y “vertical”.

Para la buena configuración de un contenedor LinearLayout debes conocer seis conceptos que ayudan a definir el aspecto visual del mismo: la orientación (orientation), tamaño (fill model), el peso (weight), el relleno (padding), el margen (margin) y la gravedad (gravity) definidos en la clase LinearLayout.LayoutParams.

Orientación (orientation):

La orientación (orientation) nos ayudará a indicar si el LinearLayout representa una columna o una fila. Para definirla, hay que agregar una propiedad android:orientation en el elemento del XML, y los valores que podemos escribir son «horizontal» o «vertical». Si se establece horizontal trabajaremos con un layout a modo de filas, mientras que si lo establecemos como vertical, lo trabajaremos a modo de columnas.
También hay que saber que la orientación puede ser modificada en tiempo de ejecución utilizando «setOrientation()» de la clase LinearLayout, pasando como parámetro HORIZONTAL o VERTICAL según sea el caso.

Leer más…

Programación Android, layouts (vistas)

Layouts en Android

Ahora que tenemos una pequeña base de Java, es hora de empezar a ver cómo se generan las vistas de nuestras aplicaciones.

Estas se generan con documentos XML, que como ya vimos se almacenan en la carpeta res/layout de nuestro proyecto, y contienen una serie de etiquetas con las que se diseñan nuestras vistas.

Lo primero que debemos saber es que todos los widgets (botones, cajas de texto, etc.) que queramos mostrar en nuestra aplicación se deben incluir dentro de un contenedor, que gestiona su posicionamiento en la pantalla. A continuación pongo una lista de los tipos que hay:

  • FrameLayout: Éste es el más simple de todos los layouts de Android. Un FrameLayout coloca todos sus controles hijos alineados con su esquina superior izquierda, de forma que cada control quedará oculto por el control siguiente (a menos que éste último tenga transparencia). Por ello suele utilizarse para mostrar un único control en su interior, a modo de contenedor (placeholder) sencillo para un sólo elemento sustituible, por ejemplo una imagen.

Leer más…