Tipos de Layouts en Android
A la hora de programar en Android utilizadno Eclipse o otra herramienta, hjay que tener en cuenta que se manejan diferentes tipos de vistas o layouts en lenguaje Android. En esta entrada quiero explicaros brevemente en que consiste cada uno y cuales son sus ventajas y desventajas.
La lista de los layouts diferentes es la siguiente:
LinearLayout: Dispone los elementos en una fila o en una columna.
TableLayout: Distribuye los elementos de forma tabular.
RelativeLayout: Dispone los elementos en relación a otro o al padre.
AbsoluteLayout: Posiciona los elementos de forma absoluta.
FrameLayout: Permite el cambio dinámico de los elementos que contiene.
- Linear Layout: Este es el layout mas simple de todos. Ya que pprinicplamente maneja el uso de unos compenentes con otros ya sea en vertical u horizontal.
Hay dos tipos a la hora de utilizar el Linear Layout. Tener orientacion vertical y orientacion horizontal.
Si queremos establecer el tipo de layout que queremos deberemos hacer clic derecho y change Layout.
Al añadir los elementos en el layout, se quedan distribuidos de la siguiente forma:
Se quedan con orientacion vertical. Para una orientacion horizontal, podemos hacerlo tambien desde codigo:
Para ello se realiza mediante el comando setOrientation en el XML.
Si por el contrario queremos alienar las diferentes vistas usaremos:android:baselineAligned.
Con ello conseguiremos que los compenentes se alieneen autoimaticamente los unos con los otros.
Mediante el comando gravity, definimos la orientacion principal de los componentes:
Entre ellos se pueden encontrar top, right, left, bottom etc:
Imagen
- RelativeLayout: Se basa principolalmente en establecer los compnentes donde se orientaran unos con otros respecto a los que tengoan al lado. Si agregamos componentes de un inicio se quedarian de la siguiente forma.
En general cuando establecemos los componentes, cada uno se puede mas o menos quedar en la parte que se le han indicado. En este caso queda desordenada. El inconveniente que tiene es que cuando manejamos varios por codigo, es mas dificil controlarlos y se pueden desorientar.
Podemos establecerle una orientacion principal o al lado de cada componente utilizando las dioferentes propiedasdes:
Otras caracterisitcas qwue podemos usar son: android:layout_alignParentTop, android:layout_alignParentTop, android:layout_alignParentTop, android:layout_alignParentRight, android:layout_centerHorizontal, etc. Estos componentes sirven para orientar unos botones u otros compenentes con otros… Por ejemplo:
Con ello por ejemplo hacemos que con el align_right”Boton2″ el Boton 2 se alienee con el boton 1 a su derecha.
- FrameLayout: Consiste en un layout sencillo. Su uso lo unico que hace es colocar unas vostas encima de otras.
Una de las caracterisitcas es el uso del gtavity para orientar los componentes en la parte ikndicada.
El uso de ello superpoone varios botones unos encima de otros. Para separarlos es mejor hacerlo mendiante codigo y asi se podra verlo mejor distribuido.
- TableLayout:
Realiza una division del layouts en tablas, donde en cada columna o fila se pueden distribuir los componentes.
Con tablerow definimos la fila donde queremos que empieze o acabe. Por ejempl aqui definimos que en el primer row haya dos botones mientras que en el segunod solo se situe unos solo.
Dentro de cada Layout tambien se le pueden cambiar los atributos y poner orientaciones o gravedad hacia los lados como anteriormente.