2011-08-27 6 views
5

Tengo un montón de problemas con las imágenes de Android.Las imágenes de Android me están confundiendo

Simplemente no sé qué tamaños hacer y cómo hacer que se comporten.

Vengo de un desarrollo de iphone correcto, por lo que en el desarrollo de iphone iniciaría Photoshop, crearía un lienzo de 640 * 960 y diseñaría mi aplicación.

Cortaría el diseño resultante y exportaría todas las imágenes con la extensión @ 2x. Luego, lo escalaría en 0.5 y exportaría para dispositivos de visualización estándar.

Esto es fácil de entender ... esto es fácil de hacer. Si quiero que una imagen ocupe la mitad de la pantalla, la haré 320px de ancho para alta resolución y 160px de ancho para res estándar.

Desafortunadamente, Android no funciona así. No puedo resolverlo. No hay una "conversión fácil" por así decirlo. ¡No sé cuántos dip hay una pantalla en Android!

Así que termino usando cosas como wrap_content que no ayuda porque las diferentes pantallas solo muestran diferentes resoluciones de la imagen. ¡Tengo tantos problemas con márgenes extraños en las imágenes y todo tipo!

¿Cómo utilizar las imágenes con Android correctamente?

+1

Podría ayudar si describes lo que quieres hacer;). ¿Lo leíste y lo entendiste ?: http://developer.android.com/guide/practices/screens_support.html – mibollma

+1

Básicamente debes mantener los iconos correctos en la carpeta correcta. [Esta es una buena herramienta para trabajar] (http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html). – Reno

+0

Reno - gracias por ese enlace - se ve extremadamente útil. Solicité la sala de chat de Android, gracias por la sugerencia (y gracias por compartir mi pregunta allí también). Mibollma estoy tratando de hacer una aplicación! jajaja, no son cosas realmente específicas, solo imágenes que tienen diferentes tamaños en diferentes pantallas ... las imágenes que son pequeñas en mi diseño de repente son enormes en la pantalla, etc. etc ... –

Respuesta

4

El desarrollo de Android se parece mucho más al desarrollo web. Para ser más específico, se parece más al desarrollo web, donde permite que la página cambie de tamaño con la ventana del navegador. El desarrollo de iPhone se parece más al desarrollador web, donde se usa un ancho de página fijo y se puede controlar una gran parte del pago.

Con Android, la pantalla podría tener casi cualquier tamaño, y casi cualquier orientación, pero lo más importante, cualquiera de una variedad de resoluciones. Es como @ 2x pero necesitas más variantes ya que Android es más variado. Es diferente pero te acostumbrarás.

Esta página es que los gráficos oficiales documentación re: http://developer.android.com/guide/practices/screens_support.html

Pero, en realidad, he encontrado esta página a ser de uso más práctico: http://coding.smashingmagazine.com/2011/06/30/designing-for-android/

El objetivo es que cuando se tiene una imagen de un tamaño físico particular en la pantalla, debería mostrar más o menos el mismo tamaño en cualquier dispositivo, ya sea un dispositivo de baja resolución malo o súper de alta resolución (como los próximos).

DIP es una medida que se relaciona con el tamaño físico en lugar de los píxeles. Si dices que algo tiene 100 "de ancho tendrá aproximadamente el mismo tamaño físico en todos los dispositivos con Android, sin importar la resolución del dispositivo.

Puede pegar gráficos de alta resolución en la carpeta drawable-xhdpi, pero Android tendrá que cambiar el tamaño sobre la marcha para que pueda ver problemas de rendimiento y calidad. Es por eso que debes proporcionar un conjunto.

Recuerde al diseñar que las cosas se estirarán. No intentes arreglar todo con el mismo tamaño, no funcionará. Por ejemplo, para botones, es probable que desee utilizar imágenes elásticas (leer en imágenes de 9 parches) para que la aplicación cambie de tamaño dependiendo del tamaño de la pantalla.

También, puede muy bien ser capaz de crear muchos de los iconos que necesita (menús, notificaciones, etc.) utilizando FANTÁSTICO icono de la herramienta de estudio de Roman Nurik http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html

Así, por ejemplo, si necesita un icono lanzador de aplicaciones, simplemente le da a su herramienta un mapa de bits, lo recorta, lo escala, lo rellena, agrega un efecto de botón 3D (brillo y sombra) y luego lanza versiones para xhdpi, hdpi, mdpi, ldpi. Me ahorra DÍAS de tiempo en cada proyecto.

¡Buena suerte!

+1

el segundo enlace es muy útil y realmente me abre los ojos sobre el asunto. :) Así que es un caso de que la aplicación se verá un poco diferente en todos los dispositivos, supongo. Se trata de fill_parents y wrap_contents para asegurarse de que todo se ajuste independientemente del dispositivo. –

+0

Sí. Tomará tiempo entenderlo todo, pero sigue persistiendo y lo entenderás, a medida que resuelves cada problema. Si supone que la mayoría de las cosas cambiarán de tamaño automáticamente (las imágenes de 9patch son importantes), será más fácil de entender. Y recuerde que para cada imagen que utiliza, necesita versiones de diferentes tamaños para xhdpi, hdpi, mdpi y ldpi, y al hacerlo puede tratarla como si la imagen tuviera un tamaño físico fijo, en cualquier pantalla. –

+0

Thomas, he agregado otro enlace para una herramienta que es muy útil para crear muchas de las imágenes que necesitará –

1

Tener un vistazo a estos dos enlaces: first y second

teléfonos Android vienen en diferentes tamaños y densidades a diferencia de iPhone. Para el desarrollo de Android, debe tener claro a qué teléfono se dirige (densidad) para usar valores codificados. Si quiere que sea general, es bueno usar wrap_content. No sé qué problema tienes con eso. ¿Y de qué márgenes estás hablando? ¿Puedes especificar?

+0

He leído eso una y otra vez y aunque son muy útil, todavía son ambiguos y no me dejan más seguro de lo que estoy haciendo. –

+0

He editado mi respuesta .... los 2 enlaces son lo suficientemente buenos – Gaurav

Cuestiones relacionadas