Los íconos están muy pixelados con algunos paquetes de íconos

Estoy usando Aviate en este momento y estaba tratando de aplicar un nuevo paquete de íconos. Si bien algunos paquetes están bien, la mayoría están terriblemente pixelados en mi teléfono. En las siguientes capturas de pantalla, la pantalla superior es mi teléfono de 3,5" y la inferior es el teléfono de 4,5" de mi amigo. Aquí estoy usando el "paquete de íconos Blitz", pero muchos otros paquetes hacen esto. "Sense 5 icon pack", por ejemplo, funciona bien en mi teléfono.

¿Es esto una limitación de hardware? ¿Android es incapaz de suavizar los íconos cuando cambian de tamaño?

Por ejemplo

¿Qué teléfono tiene?

Respuestas (1)

No sé lo suficiente sobre Aviate para estar seguro, pero puedo adivinar en función de la forma en que los iconos funcionan normalmente en Android.

El ícono de una aplicación tiene diferentes versiones para diferentes DPI de pantalla, por lo que no es necesario cambiar el tamaño ni suavizar los íconos. Tenga en cuenta que el antialiasing no es la respuesta aquí: funciona desenfocando los íconos, por lo que aún se ven mal, solo que de una manera diferente. El iniciador de Android estándar siempre usa el ícono correcto para el DPI de la pantalla. (En realidad, usa el ícono de un tamaño más grande, porque muestra los íconos más grandes que en las primeras versiones de Android cuando se establecían los tamaños del ícono del iniciador). Si la aplicación no viene con un ícono del tamaño correcto, usa un ícono más pequeño. icono. Por eso, si tienes lo que Android llama una pantalla xhdpi (240 ppp o más), algunas aplicaciones tendrán íconos más pequeños: es porque no tienen un ícono xxhdpi .

Por lo que describes, parece que el paquete de íconos que te está dando problemas no tiene íconos para la resolución de tu pantalla. Quizás el autor del paquete de iconos no se dio cuenta de los diferentes DPI. Tal vez sea alguna limitación del formato del paquete de iconos, que no es un estándar de Android.

Cuando esto sucede, Aviate elige el siguiente tamaño más pequeño y lo amplía. No hay ninguna razón por la que no pudieran usar la interpolación lineal o cúbica para reemplazar las irregularidades (sí, ese es el término técnico) con borrosidad. Si están usando el ImageViewcomponente estándar, es solo una cuestión de establecer una bandera cuando el tamaño del icono no es correcto. Sin embargo, eso sería más lento, y tendrían que tener cuidado de hacerlo solo cuando falta el ícono. Es posible que haya alguna razón dentro de Aviate por la que no puedan hacer eso; OTOH, es posible que nunca hayan intentado usar paquetes de íconos con DPI faltantes, o quieren que sea obvio para alentar a los autores de íconos a hacer lo correcto.

Gracias @Dan. Ya contacté a los desarrolladores de Aviate. Supongo que también intentaré contactar con algunos diseñadores de paquetes de iconos. Esta fue una explicación muy clara.
Veo en las especificaciones de su teléfono que es mdpi . Dado que la mayoría de los teléfonos en estos días son al menos hdpi , es posible que algunos autores hayan renunciado a incluir los íconos más pequeños.
No creo que la mayoría sean hdpi. La mayoría de los teléfonos que cuestan menos de 150€ siguen siendo mdpi. Y aunque entiendo tu punto, no es válido. Es muy fácil generar automáticamente todos los tamaños con las herramientas adecuadas. Además, una vez más estamos empezando a ver un cambio en el tamaño de la pantalla con todos los relojes inteligentes, etc. Antes de que aparecieran los teléfonos inteligentes, te preguntarías por qué las páginas web caben en pantallas de 800 píxeles de ancho o menos.
@ecc Si bien es posible generar diferentes tamaños automáticamente, esto no siempre da como resultado buenos íconos: por lo general, obtienes el mismo resultado al escalarlos en el dispositivo, ya sea con irregularidades o borrosidad. Para obtener iconos nítidos y de aspecto profesional a baja resolución, debe alinear los bordes y el texto a mano. Si vale la pena el costo o no es un tema de debate: el hecho de que algunos desarrolladores de aplicaciones y diseñadores de iconos no se molesten no lo es.