Como sabemos, Android viene con varios dispositivos que tienen diferentes características, resolución y tamaño de pantalla, por lo que al desarrollar una aplicación que admita pantallas múltiples (pequeñas y grandes), existe un obstáculo de tamaño y diseño.
Esto conduce a diferentes combinaciones de tamaños de pantalla, resoluciones y DPI y crea un gran desafío al diseñar y desarrollar para dispositivos Android. Mientras que algunos otros fabricantes (que no son Android) tienen diferentes resoluciones y DPI, comparten el mismo tamaño de pantalla y las resoluciones siguen la misma relación de aspecto. Por lo tanto, se puede crear una imagen que se ajuste a los dispositivos que no sean Android.
Mi pregunta es si existe un flujo o arquitectura adecuados que uno debería seguir para cumplir con el requisito.
Recuerde que tenemos tabletas de diferentes tamaños y resoluciones.
Soy consciente de que Android Developer contiene esta información, pero mi punto de vista es de implementación.
Por lo que sé, lo que entendí es que para diseñar gráficos de Android, incluso el programador debe conocer el concepto de diseño.
fuente
MicroMax Funbook
gsmarena.com/micromax_funbook_p300-4701.php ¿7", 480X800, Ldpi (133 dpi)
puede decirme en qué categoría (drawble-large o Ldpi o si Android v3.0 sw-480) caerá?Respuestas:
Finalmente creé una estructura que maneja diseños e íconos para múltiples pantallas.
Android generaliza las pantallas de los dispositivos en categorías según dos parámetros:
Para determinar el tamaño y la densidad de la pantalla rápidamente, instale la aplicación " What's my Size " para Android.
Tamaño de pantalla
Android define cuatro tamaños de pantalla generalizados:
Android define cuatro densidades de pantalla generalizadas:
Típicamente:
Aquí se enumera la diferencia porcentual de la pantalla del dispositivo
Pero como sabemos ahora, la mayoría de los dispositivos vienen con 480X800, así que lo considero un dispositivo basado, por lo que nuestro nuevo cálculo será como este
lo que significa que el primer icono y diseño se crearán solo para 480X800 y luego para los de descanso (es decir, Ldpi, Mdpi, Xhdpi).
Hay imágenes que son comunes para todos los diseños y deben ser uniformes en color y forma (sin forma compleja, sin curva), por lo que para este tipo de imagen estamos creando
9patch
para colocarla en la carpeta "dibujable (sin sufijo)". Para crear una imagen de 9Patch, puede usar DrawNinePatch o BetterNinePatchAhora simplemente cambie el nombre de sus imágenes según los estándares de Android y complete su aplicación con
hdpi
y luego simplemente tome ladrawable-hdpi
carpeta y Abra Adode Photoshop (recomendado) cree una Acción de tamaño múltiple (solo cambie el tamaño de acuerdo con la proporción porcentual) una vez creada la Acción para todos los tamaños y luego simplemente haga Automatice por lotes y proporcione el origen (drawable-hdpi) y el destino (drawable-ldpi, drawable-mdpi, drawable-xdpi).La razón por la que insisto en que uses Photoshop porque cambiará el tamaño de tu imagen automáticamente con Acciones y un punto más es que no necesitas cambiar el nombre del archivo (le asignará el mismo nombre que el original).
Una vez que haya completado la creación de todas las imágenes, actualice su proyecto y pruébelo.
A veces, puede haber la posibilidad de que el diseño que admite la pantalla (xhdpi, hdpi, mdpi) se corte en una pantalla pequeña (ldpi), por lo que para manejar esto simplemente cree una carpeta de diseño separada (diseño pequeño) y agréguela
ScrollView
(principalmente). Eso es.Tabletas Las tabletas se clasifican en dos tamaños.
En esto, necesitamos crear una imagen para la pantalla y ponerlas en consecuencia.
Entonces, en general, tendremos esta carpeta en nuestra aplicación para admitir múltiples pantallas.
será una combinación más calificativa con
Screen size and Screen density
más calificador con
Screen density and Version
y más calificador con
Screen size and Version
y más calificador con
Smallest width concept(SW)
Además, en Android V3.0 Honeycomb, introdujeron un nuevo concepto de
SW(smallest width)
en qué dispositivo se clasifican en ancho de pantalla, por lo que si estamos creando una carpeta con nombredrawable-sw360dp
, el dispositivo con 720dp (ya sea ancho o alto) usará los recursos de esta carpeta.por ejemplo, para encontrar el sufijo
Samsung Galaxy S3
dp to drawable-sw? dpCon referencia al cálculo de DP , si desea admitir su diseño o dibujable en S3, el cálculo dice
px = Ancho del dispositivo = 720
dpi = Densidad del dispositivo = 320
fórmula dada
intercambiando fórmula porque tenemos el valor de px
ahora poniendo valor,
entonces
drawable-sw360dp
que hará el trabajoObtenga la configuración de su dispositivo de GsmArena. De la misma manera, también puede crear una carpeta de acuerdo con la versión de la API de Android del dispositivo, es decir, drawable-hdpi-v11`, por lo que el dispositivo que tiene API11 y es Hdpi utilizará estos recursos.
Consejos adicionales:
Utilice diseños relativos, dp, sp y mm
Unidades dp : píxeles independientes del dispositivo normalizados a 1 píxel físico en una pantalla de 160 ppi, es decir, densidad media. Escalado en tiempo de ejecución. Utilizar para las dimensiones del elemento de la pantalla
unidades sp : píxeles escalados, especificados como valores de punto flotante, basados en unidades dp pero además escalados para la configuración de preferencia de tamaño de fuente del usuario. Escalado en tiempo de ejecución. Usar para tamaños de fuente
siempre debe usar RelativeLayout para diseños; AbsoluteLayout está obsoleto y no debe utilizarse.
Utilice formatos de imagen adecuados: PNG frente a JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
Sin embargo, PNG y JPEG no son equivalentes. Tienen diferentes compensaciones de calidad y PNG no siempre es lo mejor:
JPEG puede ofrecer reducciones del tamaño de archivo de hasta un 50% en comparación con PNG, lo cual es significativo si su aplicación utiliza muchas imágenes
Un archivo JPEG "con pérdida" de mayor calidad puede verse mejor que un PNG "sin pérdida" altamente comprimido, para el mismo tamaño de archivo
Agregue etiquetas a sus imágenes y gráficos para depurar
Utilice el elemento soportes-pantallas
Configure sus emuladores con valores de dispositivo reales
Convencionalmente, los sistemas de escritorio se muestran a 72ppi (Mac) o 96ppi (Windows, Linux). En comparación con los dispositivos móviles, las pantallas de escritorio son siempre de baja densidad.
Configure siempre sus emuladores de Android para que imiten los valores reales del dispositivo y configúrelos siempre a escala para emular la densidad del dispositivo.
En Eclipse, es fácil crear múltiples emuladores (en la barra de menú de Eclipse, seleccione Ventana> Administrador AVD> Nuevo ) configurados con valores para dispositivos reales:
Asigne un nombre al emulador para el dispositivo real que está emulando. Especifique la resolución, no utilice tamaños genéricos incorporados. Establezca la densidad del dispositivo para que coincida con el dispositivo real (en el panel Hardware, establezca la propiedad de LCD abstraída en la densidad real, siempre un valor entero).
Cuando inicie el dispositivo, siempre seleccione Escalar pantalla a tamaño real y escriba la dimensión real de la pantalla en pulgadas.
Si no establece la densidad del dispositivo, el emulador se establece de forma predeterminada en baja densidad y siempre carga recursos específicos de ldpi. La resolución (dimensiones en píxeles) será correcta, pero los recursos de imagen que dependen de la densidad no se mostrarán como se esperaba.
Por supuesto, nada de lo que haga reproducirá una calidad de imagen de mayor densidad en una pantalla de escritorio de menor densidad.
Estos son los datos recopilados durante un período de 7 días que finaliza el 1 de octubre de 2012. Para ver las estadísticas más recientes sobre la versión de la plataforma Android, visite aquí.
Basado en el tamaño de la pantalla
Basado en la densidad de la pantalla
fuente
Los diseñadores deben crear diseños básicos de
base size of mdpi devices * density conversion factor of highest supported density bucket
El tamaño de la pantalla base es de 320 X 480 px y los segmentos de densidad son los siguientes:
Y para abordar el espacio adicional disponible en los dispositivos Android, debe usar componentes extensibles en ambas direcciones (horizontal y verticalmente). La información detallada está disponible aquí:
http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/
fuente