Interfaz de usuario en Android: AbsoluteLayouts

Hace ya algunos meses, escribía un artículo sobre la Interfaz de Usuario en Android, en la que explicaba con ejemplos en XML como montar una vista o pantalla para nuestras aplicaciones Android. Me centraba concretamente en un simple ejemplo: El clásico “Hola Mundo” para Android, cuya pantalla solo tenía un LinearLayout y un TextView.

Recordemos de que iba el tema este de los layouts. Para realizar el diseño de una pantalla o vista en Android, tenemos la opción de usar XML. Con una idea similar a HTML pero mucho más completa y compleja, Android nos permite construir mediante anidamientos de elementos XML, atributos y valores la estructura y el estilo de nuestra pantalla.

Los “layouts” o “capas” (personalmente me gusta más llamarlos “contenedores”, ahora veréis el porqué) son los encargados de contener elementos menores, como pueden ser botones, imágenes, textos…

Hay varios tipos de “layouts” y cada uno se diferencia del otro por la forma en la que colocan sus “elementos contenidos”. LinearLayout coloca los elementos en línea, uno detrás de otro (ya sea en horizontal o vertical, esto es configurable).

Bien, una vez refrescado la memoria y hablado un poco de los layouts en general, vamos a centrarnos en un contedor que puede traernos…problemillas.

AbsoluteLayout.

Cuando se empieza a programar en Android y empezamos a montar las primeras pantallas, quizás nos resulte más fácil trabajar con AbsoluteLayouts, donde los elementos que van en su interior ocupan posiciones absolutas en la pantalla.

Mediante los atributos


android:layout_x=”Xpx”
android:layout_y=”Ypx”

podemos colocar una imagen o un botón en unas coordenadas en concreto, teniendo en cuenta que el punto de referencia, el (0,0) es la esquina superior izquierda.

¿Ventajas?

Bueno, a priori nos puede resultar más fácil crear pantallas de esa forma.

¿Inconvenientes?

Muchos: Para empezar, recientemente la clase AbsoluteLayout y toda su funcionalidad ha sido marcada como “deprecated” en las APIs de Android. Esto quiere decir que en futuras versiones del SDK esta funcionalidad desaparecerá. Mucho ojo!!!

Con este inconveniente ya se nos debería de quitar las ganas de trabajar con AbsoluteLayouts, pero si eso no os convence, ahí va otro gran problema:

Poco a poco se va poblando el mercado de la telefonía móvil con sistemas Android, cada dispositivo con su hardware…y su tamaño de pantalla. No podemos trabajar con posiciones absolutas de la pantalla, cuando no sabemos que teléfono va a usar nuestra aplicación. ¿Y si la pantalla es más grande que el teléfono que estábamos usando para hacer las pruebas? ¿Y si la pantalla es más pequeña?

Recomendación: No uséis AbsoluteLayouts en vuestras aplicaciones. Usad RelativeLayouts, de los cuales hablaremos en la siguiente entrada.

Comparte esta noticia:
  • Meneame
  • Digg
  • TwitThis
  • del.icio.us
  • Facebook
  • Google
  • Live

Leave a Reply