Ver la Versión Completa : Resoluciones
Androidsc
25/07/13, 13:11:00
Buenas,
Hace poco termine mi primera aplicacion, pero cuando la he ido a probar en diferentes moviles de familiares y amigos me he dado cuenta de que la aplicacion descuadra en la mayoria de los casos.
Mi app contiene bastantes imágenes y la he hecho utilizando el drawable-hdpi y mdpi (en una proporción 1.5 - 1) pero aun así dentro de esas resoluciones algunas son un poco mayor o un poco menor y me descuadran.
¿Como hacéis para que las aplicaciones se adapten a todas las resoluciones del mercado?
Un saludo y muchisimas gracias de antemano
Carlosdelachica
27/07/13, 16:31:28
tienes que crear los drawables en 4 formatos ldpi - mdpi - hdpi - xhdpi . Además tendrás que diseñar los layouts de tal manera que los textos y demás partes de la interfaz se puedan ver bien en las distintas pantallas. Si usas eclipse tienes el modo gráfico donde puedes utilizar distintas pantallas y suponer como se vería. Un saludo.
Androidsc
27/07/13, 19:30:12
Vaya locura, es un poco complicado, ¿no?
¿Como lo soléis hacer? ¿Primero hacéis la app entera para mdpi y luego adaptáis el resto? ¿Que proporciones utilizáis?
He leído por Internet que la gente calcula las densidades de pantalla, ¿Lo utilizais para vuestras app?
Muchas gracias por responder, saludos!!
Carlosdelachica
27/07/13, 19:31:28
http://ifraktal.blogspot.com.es/2012/10/disenando-aplicaciones-android-para.html algo de info
Androidsc
27/07/13, 23:09:11
http://ifraktal.blogspot.com.es/2012/10/disenando-aplicaciones-android-para.html algo de info
Gracias!
Cual es el método que utilizas tu compañero?
saludos
Carlosdelachica
27/07/13, 23:10:28
tienes que crear los drawables en 4 formatos ldpi - mdpi - hdpi - xhdpi . Además tendrás que diseñar los layouts de tal manera que los textos y demás partes de la interfaz se puedan ver bien en las distintas pantallas. Si usas eclipse tienes el modo gráfico donde puedes utilizar distintas pantallas y suponer como se vería. Un saludo.
Este
Androidsc
27/07/13, 23:18:29
Este
Pero haces primero un drawable en concreto o los cuatro simultaneamente?
Carlosdelachica
27/07/13, 23:19:19
no entiendo lo que me preguntas
Androidsc
28/07/13, 01:47:14
En realidad lo que me interesa saber es por cual de todos los drawable que me comentaste (ldpi - mdpi - hdpi - xhdpi) empiezas a diseñar la aplicación y cual es la proporcion que aplicas entre ellos (75%-100%-150%-200%)?
saludos y gracias!!
Carlosdelachica
28/07/13, 15:50:46
lo que haces es referir al archivo y Android automáticamente elige el drawable correspondiente. Los tamaños varían según el tipo de icono o imagen, en la documentación tienes mucha informacion sobre el tema.
Marciano Verde
30/07/13, 10:28:28
Pero a ver... no solo es una cuestión de resolución, los diferentes móviles también tienen proporciones (ancho-largo) diferentes... ¿como se resuelve esto?.
mocelet
30/07/13, 10:53:30
Pero a ver... no solo es una cuestión de resolución, los diferentes móviles también tienen proporciones (ancho-largo) diferentes... ¿como se resuelve esto?.
Usando interfaces que se adapten automáticamente, usando RelativeLayout para que los elementos ocupen toda la pantalla, usando scroll cuando algo no quepa en vertical, etc.
Realmente no hay tantas proporciones, básicamente panorámico (16:9, 16:10) y no-panorámico (4:3, 5:4).
Supuesto que mantengas fijo el ancho a la hora de diseñar, lo que cambia en las proporciones es la altura. En muchas apps con poner scroll es suficiente.
En un juego por ejemplo no vale lo del scroll normalmente porque quieres llenar la pantalla y que se vea todo. Ahí ya hay más estrategias, como que el área de juego sea 4:3 y el resto sea "de relleno" (si cabe se muestra, si no se corta y no pasa nada).
kriogeN
30/07/13, 10:59:07
Trabajando con DPI y RelativeLayout.
Haciendo esto los móviles que tengan proporciones estándar de PPI funcionarán perfectos, en el resto se verá un poco diferente.
Por ejemplo, yo sólo trabajo con un Layout único para todos los tamaños (todos en Portrait). En todos los móviles con PPI estándar según su tamaño se me ve perfecto, pequeños, grandes, incluso tablets.
Pero por ejemplo uno de los móviles que tengo para depurar es un HTC One S, que es HDPI pero tiene un PPI de 256, cuando el estándar es de 240. Lo que ocurre es que todo se ve un poco más pequeño que en el resto de móviles, sobre todo la letra.
Y en cuanto a las imágenes, igual, puedes usar sólo XHDPI y se autoreducen de tamaño, y al ser interpolación negativa no se nota. Lo único es que te ocupará un poco más de memoria (no mucha) por tener que hacer la conversión, pero como ganancia el APK ocupará muchísimo menos (no tienes la misma imagen repetida 4 veces). Además que ya desde JB también existe el XXHDPI y está preparado (aún no hay ningún móvil que lo soporte, pero el sistema ya está preparado) el XXXHDPI.
EDIT: Se me adelantó mocelet
Carlosdelachica
30/07/13, 11:24:07
Usando interfaces que se adapten automáticamente, usando RelativeLayout para que los elementos ocupen toda la pantalla, usando scroll cuando algo no quepa en vertical, etc.
Realmente no hay tantas proporciones, básicamente panorámico (16:9, 16:10) y no-panorámico (4:3, 5:4).
Supuesto que mantengas fijo el ancho a la hora de diseñar, lo que cambia en las proporciones es la altura. En muchas apps con poner scroll es suficiente.
En un juego por ejemplo no vale lo del scroll normalmente porque quieres llenar la pantalla y que se vea todo. Ahí ya hay más estrategias, como que el área de juego sea 4:3 y el resto sea "de relleno" (si cabe se muestra, si no se corta y no pasa nada).
Amén.
manolazo
04/11/13, 19:13:05
Buenas.
Respecto a este tema hay una cosa que no me cuadra si no usamos diferentes layouts y ponemos RelativeLayouts y medidas en dp como dice Kriogen en un solo layout :
Un Samsung Galaxy S3 tiene 306 PPI ( resolución XHDPI) con 720 pixels de ancho. Usando medidas dps serian 1.9125 pixles = 1dp con lo cual si pongo un boton que me ocupe toda la anchura de pantalla serian 374 dps.
Si uso el android Virtual device manager y seleccion un terminal con resolucion mdpi (160PPI) de los que aparecen por defecto nos encontramos con que tiene una resolucion de 320x480 pixels . Teniendo en cuenta que 1 pixel = 1 dp para resoluciones mdpi , nos encontramos que un boton que ocupe toda la anchura tendria 320 dps con lo cual la medida "dp" en un terminal ya no es igual a la del otro y todo queda descompensado !!!!
Si hay que hacer el diseño para terminales de este tipo basandonos en dps y RelativeLayouts no cuadra.
Al menos es lo que me pasa a mi cuando depuro en mi GalaxyS3 y luego lo hago con un terminal del AVDM como el indicado antes.. que queda todo descuadrado.
Un saludo.
kriogeN
04/11/13, 20:39:03
Buenas.
Respecto a este tema hay una cosa que no me cuadra si no usamos diferentes layouts y ponemos RelativeLayouts y medidas en dp como dice Kriogen en un solo layout :
Un Samsung Galaxy S3 tiene 306 PPI ( resolución XHDPI) con 720 pixels de ancho. Usando medidas dps serian 1.9125 pixles = 1dp con lo cual si pongo un boton que me ocupe toda la anchura de pantalla serian 374 dps.
Si uso el android Virtual device manager y seleccion un terminal con resolucion mdpi (160PPI) de los que aparecen por defecto nos encontramos con que tiene una resolucion de 320x480 pixels . Teniendo en cuenta que 1 pixel = 1 dp para resoluciones mdpi , nos encontramos que un boton que ocupe toda la anchura tendria 320 dps con lo cual la medida "dp" en un terminal ya no es igual a la del otro y todo queda descompensado !!!!
Si hay que hacer el diseño para terminales de este tipo basandonos en dps y RelativeLayouts no cuadra.
Al menos es lo que me pasa a mi cuando depuro en mi GalaxyS3 y luego lo hago con un terminal del AVDM como el indicado antes.. que queda todo descuadrado.
Un saludo.
Trabajando en anchura es donde precisamente el DP cuadra perfectamente, salvo que el móvil no tenga resolución estándar y entonces varía un poco (como me pasa por ejemplo a mi con el HTC One S que es el que uso para depurar en el trabajo, que tiene 540 para una medida que el estándar es 480).
Donde no cuadran es en altura, y entonces aquí una de dos, o usas ScrollView o creas un Layout diferente.
Todos los móviles Android de resolución estándar (Normal Screen) tienen 320 dpi de ancho (En el caso del HTC One S tiene 360 dpi, pero repito, porque no es estándar).
Pero el tema de móviles con resoluciones no estándar tampoco lo arreglas con diferentes Layouts, ya que sería igualmente HDPI Normal Screen, aunque sea de 320 dpi o de 360 dpi. Lo mejor es no obsesionarse mucho, y pensar siempre en la forma más optima de distribuir en la pantalla. Por ejemplo, si quieres crear 3 botones de igual tamaño no los hagas cada uno de 320/3, crea un LinearLayout Horizontal con un Weight de 1 para cada botón.
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.