Vengono misurate le icone Android (e altri elementi dell'interfaccia utente, come le lunghezze di trascinamento) dp
. A dp
è un pixel indipendente dal dispositivo / densità . 1 dp
equivale a 1 px su uno schermo a 160 dpi . Ma per convertire ad altre densità dello schermo, è necessario moltiplicarlo per un fattore di densità. Pertanto, in genere si consiglia di fornire più immagini per la maggior parte delle icone .
Ad esempio, le icone di notifica utilizzate nella barra di stato sono specificate come 24x24 dp, con un margine di 1 dp (quindi l'icona effettiva occupa solo un quadrato ottico di 22x22 dp, anche se parte dell'AA può sanguinare in quel margine di 1 dp / frame sicuro ). Per convertire 24 dp in pixel effettivi, vengono utilizzati questi calcoli approssimativi:
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
C'è anche una densità di visualizzazione intermedia chiamata tvdpi
(~ 213 dpi) che si trova tra mdpi
e hdpi
e ha un fattore di scala di 1.33
, ma questo è molto meno comune. Ciò che i documenti Android raccomandano è di seguire un 3:4:6:8:12
rapporto di ridimensionamento quando si forniscono immagini bitmap prescalate (di solito PNG) per le densità di visualizzazione più comuni.
Non vedo da nessuna parte dove specificano le dimensioni del dp per le icone grandi utilizzate nelle notifiche, ma l'altezza di ciascuna notifica nella normale vista della posta in arrivo è di 64 dp . Ciò significa che la dimensione massima per le icone / immagini mostrate sarebbe:
ldpi: 48x48 px
mdpi: 64x64 px
hdpi: 96x96 px
xhdpi: 128x128 px
xxhpdi: 192x192 px
Se vuoi sapere esattamente quali dimensioni delle immagini sono le icone stock di Android, dovresti essere in grado di scoprirlo dal Icon Template Template di Android, v4.0 .
Vedi anche questa domanda SO: Notifiche a nido d'ape: come impostare largeIcon
la giusta dimensione?