Depuis Android 4.3 (Jelly Bean), nous pouvons maintenant utiliser les res/mipmap
dossiers pour stocker des images "mipmap".
Par exemple, Chrome pour Android stocke ses icônes dans ces dossiers au lieu des res/drawable
dossiers plus normaux .
En quoi ces images mipmap sont-elles différentes des autres images dessinables connues?
Je vois que dans mon manifeste, nous utilisons le @mipmap/
qualificatif, au lieu de @drawable/
, ce qui est logique étant donné le nom du dossier de ressources:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Références:
Le document sur les API d'Android 4.3 dit ce qui suit:
L'utilisation d'une mipmap comme source pour votre bitmap ou dessinable est un moyen simple de fournir une image de qualité et différentes échelles d'image, ce qui peut être particulièrement utile si vous vous attendez à ce que votre image soit mise à l'échelle lors d'une animation.
Android 4.2 (API niveau 17) a ajouté la prise en charge des mipmaps dans la classe Bitmap: Android échange les images mip dans votre Bitmap lorsque vous avez fourni une source mipmap et avez activé setHasMipMap (). Maintenant, dans Android 4.3, vous pouvez également activer les mipmaps pour un objet BitmapDrawable, en fournissant un actif mipmap et en définissant l'attribut android: mipMap dans un fichier de ressources bitmap ou en appelant hasMipMap ().
Je n'y vois rien qui m'aide à comprendre.
Les ressources XML Bitmap ont une android:mipMap
propriété:
Booléen. Active ou désactive le conseil mipmap. Voir setHasMipMap () pour plus d'informations. La valeur par défaut est false.
Pour autant que je sache, cela ne s'applique pas aux icônes de lanceur.
La question a été posée sur Google Groupes ( Le but du nom de ressource "mipmap"?! ), Auquel Romain Guy a répondu:
Il est utile de fournir une image à une résolution plus grande qui serait normalement calculée (par exemple, sur un périphérique mdpi, le lanceur peut souhaiter que l'icône hdpi plus grande affiche de grands raccourcis d'application.)
J'ai l'impression que cela a presque du sens, mais pas tout à fait.
Je suis toujours enclin à suivre le suivi de Randy Sugianto:
Quels en sont les avantages? Existe-t-il un guide sur l'utilisation des mipmaps, probablement pour de meilleures icônes de lanceur?
Bien sûr, Wikipedia a une page pour "Mipmap" , qui se réfère à une technique plus ancienne inventée en 1983, que je ne peux pas tout à fait relier à l'implémentation Android actuelle.
Devrions-nous stocker toutes nos icônes d'application dans des res/mipmap
dossiers ces jours-ci, et quelles sont les directives pour ces images mipmap?
Mise à jour # 1
Voici un article de blog qui essaie de l'expliquer un peu.
Mais l'image utilisée dans ce billet de blog montre à quoi ressemble un fichier avec de nombreux logos. Ce n'est pas ce que je vois dans le dossier mipmap de Chrome.
Le mipmap-hdpi
dossier de Chrome contient trois images. L'un est le logo Chrome, à lui seul.
Curieusement, c'est 72x72, pas 48x48 que je m'attendrais à voir.
Peut-être que c'est tout ce qu'il y a à cela - nous avons juste besoin de garder de plus grandes icônes dans les dossiers mipmap?
Mise à jour # 2
Le blog Android Developers Blog du 23/10/2014 confirme à nouveau l'idée d'utiliser les mipmap
dossiers pour les icônes d'application:
En parlant de la densité d'écran du Nexus 6, l'auteur écrit:
Il est recommandé de placer les icônes de votre application dans des dossiers mipmap (et non dans les dossiers dessinables) car ils sont utilisés à des résolutions différentes de la densité actuelle de l'appareil. Par exemple, une icône d'application xxxhdpi peut être utilisée sur le lanceur pour un périphérique xxhdpi.
Mise à jour # 3
Notez qu'Android Studio crée les ic_launcher.png
icônes dans les mipmap...
dossiers plutôt que les drawable...
dossiers qu'Eclipse a utilisés pour les créer.