web-dev-qa-db-fra.com

Vecteur Android dessinable pour l'icône du lanceur et d'autres images sur Android N

Je vais utiliser la fonctionnalité de dessin vectoriel pour les icônes de la barre d'action et l'icône de notification, sur mon application.

Avec l'annonce de Android N, l'une de ses fonctionnalités les plus importantes est Screen Zoom (on section Améliorations de l'accessibilité ). Une autre fonctionnalité intéressante est le support multi-fenêtres (voir link si vous souhaitez plus d’informations).

Cela signifie-t-il que nous devrions également utiliser le vecteur drawable pour l'icône du lanceur et les autres images utilisées dans l'application?

13
JJ86

Le vecteur extractible n'est pas pris en charge pour les icônes de lanceur. Vous êtes cependant encouragé à l'utiliser partout ailleurs.

18
alanv

Vous pouvez utiliser un vecteur pouvant être dessiné comme icône du lanceur si vous suivez ces étapes:

  1. Placez l’icône du lanceur de vecteurs dans le répertoire drawable. Vous ne pouvez pas placer les vecteurs drawables dans le répertoire mipmap car ils ne fonctionneront qu'aux niveaux 21 et suivants de l'API. Comme vous le savez probablement, il est recommandé de placer les icônes du programme de lancement PNG dans les répertoires mipmap-<density> au lieu de ceux de drawable-<density>, ce qui est important, car si vous créez une apk fractionnée ou utilisez le nouveau format aab pour télécharger votre application ( "Google Dynamic Delivery" ), les deux processus vont supprimer tous les répertoires drawable-<density> sauf celui de la densité actuelle.

  2. Supprimez vectorDrawables.useSupportLibrary = true dans la section build.gradledefaultConfig si vous l'avez défini plus tôt. Cela permettra la génération de fichiers PNG au moment de la construction pour les vecteurs dessinables par vecteur pour les niveaux d'API inférieurs à 21. Si vous ne supprimez pas cette option, l'attribut Android:icon de la balise <application> chargera l'icône par défaut "robot vert" d'Android.

Je l'ai testé sur un périphérique API de niveau 16 et cela fonctionne parfaitement.

11
mixel

Il semble que les tirages vectoriels soient maintenant pris en charge pour les icônes de lanceur ..__ J'ai récemment téléchargé et publié un app (en alpha) avec un vecteur dessinable en tant qu'icône de laucher.

1
Sebastian