Se miden los íconos de Android (y otros elementos de la interfaz de usuario, como las longitudes de arrastre) dp
. A dp
es un dispositivo / píxel independiente de la densidad . 1 dp
es equivalente a 1 px en una pantalla de 160 ppp . Pero para convertir a otras densidades de pantalla, debe multiplicarlo por un factor de densidad. Por lo tanto, generalmente se recomienda que se proporcionen varias imágenes para la mayoría de los iconos .
Por ejemplo, los iconos de notificación utilizados en la barra de estado se especifican como 24x24 dp, con un margen de 1 dp (por lo que el icono real solo ocupa un cuadrado óptico de 22x22 dp, aunque algunos de los AA pueden sangrar en ese margen / marco seguro de 1 dp ) Para convertir 24 dp a tamaños de píxeles reales, se utilizan estos cálculos aproximados:
display density dp units * scale = px units
ldpi ~120 dpi 24x24 dp * .75 = 18x18 px
mdpi ~160 dpi 24x24 dp * 1.0 = 24x24 px
hdpi ~240 dpi 24x24 dp * 1.5 = 36x36 px
xhdpi ~320 dpi 24x24 dp * 2.0 = 48x48 px
xxhdpi ~480 dpi 24x24 dp * 3.0 = 72x72 px
También hay una densidad intermedia pantalla llamada tvdpi
(~ 213 ppp) que se encuentra entre mdpi
y hdpi
y tiene un factor de escala 1.33
, pero esto es mucho menos común. Lo que recomiendan los documentos de Android es que sigas una 3:4:6:8:12
relación de escala al proporcionar imágenes de mapa de bits preescaladas (generalmente PNG) para las densidades de visualización más comunes.
No veo ningún lugar donde especifiquen el tamaño de dp para los íconos grandes utilizados en las notificaciones, pero la altura de cada notificación en la vista de bandeja de entrada normal es de 64 dp . Eso significa que el tamaño máximo para los iconos / imágenes que se muestran allí sería:
ldpi: 48x48 px
mdpi: 64x64 px
hdpi: 96x96 px
xhdpi: 128x128 px
xxhpdi: 192x192 px
Si desea saber exactamente qué tamaños de imagen tienen los íconos de stock de Android, debería poder averiguarlo en el paquete de plantillas de íconos de Android, v4.0 .
Consulte también esta pregunta SO: notificaciones de nido de abeja: ¿cómo establecer largeIcon
el tamaño correcto?