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?
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 ImageView
componente 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.
dan hulme
ecc