Los layouts en Android son elementos no visuales que se usan para controlar la distribución, posición y dimensiones de los componentes que se inserten en su interior. En Android podemos usar dos formas para declarar layouts: la primera mediante código java y la segunda a partir de ficheros XML. Si comparamos estas dos formas, es sin dudas la segunda la más factible por varias razones entre las que se encuentra que existen herramientas visuales donde el programador o el diseñador pueden, de manera fácil diseñar una interfaz de usuario, otra ventaja es que es importante en términos de arquitectura tener separado la lógica de la interfaz de usuario de forma tal que si necesitamos hacer algunos ajustes en el diseño de la aplicación no conlleve a hacer grandes cambios en la aplicación.
En Android, los ficheros de layout codificados en XML se consideran recursos y se guardan dentro del directorio res/layout del proyecto.
Cada fichero XML está formado por un árbol de elementos que describen la forma en que los componentes y contenedores se acomodarán para definir la parte visual. Cada uno de estos elementos tiene atributos que se denominan propiedades y son las que describen cómo es que deben verse los elementos y su comportamiento en un contenedor.
Para cada elemento del XML se tendrá un nombre correspondiente a la clase base de ldirectorio Android. Por ejemplo si existe un elemento Button en el XML, se deberá tener un objeto de la clase Button en el código java.
Cuando una aplicación requiere hacer referencia desde el código java a uno de los elementos del XML es importante que el elemento tenga un identificador, la convención a utilizar para darle este valor de id es @+id/[nombreElemento] Este nombre tiene que ser único.
Después de haber diseñado la interfaz de usuario, es necesario compilar la aplicación para que en la clase R.java se genere un id que Android maneja de manera interna y que permite llamar a los ficheros desde el código java.
Dentro del método onCreate() de la actividadse escribirá la sentencia setLayoutView() con el parámetro R.layout.[nombreDelFicheroXML]. Si se quiere hacer uso del elemento en específico se usa el método findViewById() y se le pasa como parámetro el id del componente. Por ejemplo:
btn = (Button) findViewById(R.id.btn);
Con esta breve explicación acerca de los layouts y su definición en un fichero XML tenemos algunos elementos para el diseño de una aplicación Android, aunque sería bueno abundar un poco más en el tema para aprovechar más las potencialidades de estos recursos, de forma tal que hagamos aplicaciones más eficientes.