|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Compatibilizar aplicación a diferentes resoluciones
Hola,
Estoy iniciándome en esto de programar en Android y ando aún un poco verde. He realizado una aplicación en la que me he currado bastante el diseño y me gustaría que quedara perfecta en los diferentes tamaños de pantallas que existen. Antes que nada decir que mi aplicación se basa en dos filas que ocupan toda la pantalla (exceptuando la barra de notificaciones) con tres imágenes cada una. En un principio tomé como referencia las dimensiones de la pantalla de la Magic porque es el terminal que tengo y el diseño quedaba perfecto pero evidentemente, al probar la aplicación en un Nexus la cosa no quedaba demasiado bien. Estuve leyendo las recomendaciones que ofrece Google de diseñarlo utilizando RelativeLayouts, utilizar wrap_content y fill_parent en lugar de valores concretos y demás pero no he conseguido lo que buscaba. He vuelto ha crear las imágenes de la aplicación pero esta vez tomando como referencia las dimensiones de la pantalla del Nexus por si el problema era que en Android puede reducir automáticamente los diseños pero no aumentarlos. Sin embargo, con esto tampoco he logrado avanzar gran cosa: ahora se ve perfecto en el Nexus pero se pasa de largo en la Magic (obvio). Así que nada, después de todo esto rollaco me gustaría que me dieseis algunas ideas sobre la mejor forma de plantear los diseños para que se adapten a los diferentes tamaños de pantalla. Según he leído una solución sería crear el mismo diseño con diferentes tamaños y ubicarlos en drawable-hdpi, drawable-mdpi, ..., pero me gustaría encontrar si es posible una forma para no tener que realizar solo un diseño por aplicación. Gracias de antemano |
|
|
|
#2
|
||||
|
||||
|
Hola ferzaciu:
Que medida usas para posicionar los elementos? debes evitar las medidas absolutas como los px in mm etc (pixeles, inches, milimetros) y usar los dip y sp (density-independient pixels, scale-independient pixels) Recomiendan usar sp para tamaño de fuente y dip para todo lo demás. Para ubicar las cosas también es recomendable usar los fill_parent/wrap_content, layout_gravity y cosas así para que se coloque todo como toca, independientemente del tamaño de la pantalla. Al principio costará, pero te evitarás luego muchos follones y harás tu aplicación compatible con cualquier resolución. Saludos! |
|
#3
|
||||
|
||||
|
Muchas gracias por tu respuesta!
Como comentaba arriba en un principio diseñé la aplicación basándome en las dimensiones de la Magic, 320x480 pixeles. Por ello realicé el diseño justo de esas dimensiones. Evidentemente en la Magic quedaba perfecta pero no en otros terminales como por ejemplo el Nexus One. Para ello sí que utilizaba fill_parent y wrap_content pero nada más. Luego pensé que lo lógico sería crear el diseño para los terminales de mayor pantalla y tratar de adaptarlo a las pantallas más pequeñas. Para ello me basé en las dimensiones del Nexus, 480x800 pixeles, pero al ver como quedaba el diseño en la visualización del Eclipse eligiendo la pantalla de 3.7" me llevé una gran sorpresa al ver que para nada se correspondía con lo que me esperaba. Quedaba todo mucho más grande como si en realidad hubiera hecho el diseño para 5.1". Así que nada, he ido realizando pruebas hasta encontrar unas dimensiones que parece que cuadran bastante bien con el Nexus. Estas dimensiones son 320x510 pixeles (descontando la barra de notificaciones). No se porqué ni de donde se suponen que salen pero probando con estas dimensiones el diseño queda "perfecto" en el Nexus. Al probarlo en la Magic queda bien de ancho pero es demasiado largo y no se muy bien como reducirlo. Al igual que antes solo utilizo fill_parent y wrap_content y no se muy bien como tendría que utilizar los dip y los sp. No se si la filosofía que utilizo para crear los diseños es la correcta así que os agradecería que me contarais como planteáis los diseños de vuestras aplicaciones cuando queréis que ocupe justo toda la pantalla (exceptuando la barra de notificaciones). Muchas gracias de antemano y perdonad por el tostón |
![]() |
Estás aquí
|
||||||
|
||||||