Problèmes avec la création d'une grande icône haute résolution pour les notifications Android dans Jelly Bean

11

J'essaie de créer de superbes graphismes haute résolution pour les notifications Android, mais je rencontre des problèmes. Dans Jelly Bean, il y a un nouvel emplacement pour les grandes icônes ( voir les directives de conception de notification ici ) sur le côté gauche de la bannière de notification (voir ci-dessous # 2 Grande icône):

entrez la description de l'image ici

Toutes les icônes Android d'origine sont belles et haute résolution, mais malheureusement, les icônes que j'ai créées dans illustrator / photoshop ne semblent pas aussi nettes sur l'écran haute résolution.

Mes fichiers mesurent 96 x 96 pixels, mais je crains que ce ne soit pas la bonne taille pour les icônes haute résolution, et je n'ai trouvé aucune bonne information nulle part concernant le meilleur dimensionnement pour ceux-ci.

Toute aide est grandement appréciée!

Daniel Smith
la source

Réponses:

18

Les icônes Android (et d'autres éléments d'interface utilisateur, comme les longueurs de glissement) sont mesurées en dp. A dpest un pixel indépendant du périphérique / de la densité . 1 dpéquivaut à 1 px sur un écran de 160 dpi . Mais pour convertir en d'autres densités d'écran, vous devez le multiplier par un facteur de densité. Il est donc généralement recommandé de fournir plusieurs images pour la plupart des icônes .

Par exemple, les icônes de notification utilisées dans la barre d'état sont spécifiées comme 24x24 dp, avec une marge de 1 dp (donc l'icône réelle ne prend qu'un carré optique de 22x22 dp, bien qu'une partie de l'AA puisse saigner dans cette marge / safeframe de 1 dp ). Pour convertir 24 dp en tailles de pixels réelles, ces calculs approximatifs sont utilisés:

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

Il y a aussi une densité d'affichage intermédiaire appelé tvdpi(~ 213 ppp) qui se trouve entre mdpiet hdpiet a un facteur d'échelle 1.33, mais cela est beaucoup moins fréquente. Ce que les documents Android recommandent, c'est que vous suiviez un 3:4:6:8:12taux de mise à l'échelle lorsque vous fournissez des images bitmap prédéfinies (généralement des PNG) pour les densités d'affichage les plus courantes.

Je ne vois nulle part où ils spécifient la taille dp pour les grandes icônes utilisées dans les notifications, mais la hauteur de chaque notification en mode boîte de réception normale est de 64 dp . Cela signifie donc que la taille maximale des icônes / images affichées serait:

ldpi:      48x48 px
mdpi:      64x64 px
hdpi:      96x96 px
xhdpi:   128x128 px
xxhpdi:  192x192 px

Si vous voulez savoir exactement quelles tailles d'image les icônes de stock d'Android sont, vous devriez pouvoir le découvrir à partir du pack de modèles d'icônes Android, v4.0 .

Voir aussi cette question SO: Notifications Honeycomb: Comment définir largeIconla bonne taille?

Lèse majesté
la source
3
Vous devriez réécrire une partie de la documentation de conception d'Android! L'info est là, mais n'est pas condensée très efficacement. Les documents sont fantastiques la plupart du temps, mais ici, ils m'ont échoué. Merci beaucoup pour l'explication la plus claire et la plus concise à ce jour!
Daniel Smith