web-dev-qa-db-fra.com

Des moyens rapides d’importer des éléments dessinables dans Android Studio?

À un moment donné dans un projet Android, vous devrez importer des éléments dessinables - qu’il s’agisse d’icônes de barre d’outils, d’images, de fonctions d’interface utilisateur - dans le répertoire res/drawable. La plupart du temps, les images sont redimensionnées pour les qualificateurs les plus courants (drawable-hdpi, drawable-mdpi, drawable-xdpi, drawable-xxdpi, ...).

Nous devons donc faire trois, quatre, voire cinq copies/pâtes de fichier pour chaque dessinable:

external_dir/drawable-mdpi/file.png   ->  my_package/drawable-mdpi/file.png
external_dir/drawable-hdpi/file.png   ->  my_package/drawable-hdpi/file.png
external_dir/drawable-xdpi/file.png   ->  my_package/drawable-xdpi/file.png
external_dir/drawable-xxdpi/file.png  ->  my_package/drawable-xxdpi/file.png

C'est ennuyeux si vous devez importer plusieurs images. Existe-t-il un moyen simple et rapide de transférer ces quatre instances de file.png directement dans le dossier du package correspondant? Une fonction implémentée dans l'IDE? Une solution de contournement facile?

Mon flux de travail jusqu'à présent a été:

  • copier/coller depuis le gestionnaire de fichiers du système d'exploitation, du répertoire externe vers le package, puis actualisez les fichiers de ressources dans Android Studio. Cela implique l’ouverture de chacun des sous-répertoires qualifiés, donc quatre mouvements;
  • depuis le gestionnaire de fichiers du système d’exploitation, accédez à external_dir, recherchez file.png, obtenez les quatre instances dans une liste unique, faites un glisser-déposer dans Android Studio, puis, pour chaque image, cliquez avec le bouton droit sur la barre de navigation, Copy et Paste dans le répertoire du package correspondant. Pas vraiment mieux!

Aucun conseil?

Edit - Je ne demande pas vraiment de "conseils" bien sûr - je veux savoir s’il est possible de réduire le nombre de déménagements à un (ou à un autre).

48
natario
53
Chulo

Ma réponse le 16 janvier 2017.

Deux ans plus tard, Android Studio dispose d’un moyen d’importer Image Assets. Mais je voulais ajouter un nouveau commentaire. Android prend désormais en charge Vectors, nous n’avons donc pas à nous soucier de résolutions différentes. Je suggère d'utiliser Vector et VectorDrawable.

Cliquez simplement avec le bouton droit sur le nom de votre application dans le Project -> New -> Vector Asset

Suivez simplement l'assistant.

Cordialement, Pedro.

Ma réponse le 18 février 2015.

Si je ne me trompe pas, c'est ce que je fais dans mes projets Android Studio (AS).

J'ai découvert qu'il suffisait d'importer la ressource la plus haute résolution. AS les redimensionnera pour vous. Je demande à mes concepteurs de ne générer que des fichiers xxhdpi, puis.

Vous allez dans votre dossier /res dans le navigateur Project, faites un clic droit et sélectionnez New -> Image Asset

Asset Studio apparaîtra

Là vous pouvez,

  • Sélectionnez votre type d'actif 

[Icône de lanceur, Icônes de barre d’action, Icônes de notification]

  • Parcourir votre fichier d'origine
  • Nommez votre ressource

Après avoir complété toutes les informations. Votre ressource sera importée en AS.

En note générale. Pour les icônes internes autres que les icônes de lancement, j'ai sélectionné le type "icône de lancement" et elles fonctionnent parfaitement.

J'espère que cette aide.

Mieux, Pedro.

18
Pedro Varela

Comme Rob Meeuwisse l'a mentionné dans un commentaire ci-dessus, vous pouvez le faire en une seule action copier-coller. Plutôt que de copier et coller chacun des fichiers un par un, vous pouvez sélectionner les quatre dossiers drawable-XXXX(pas les images elles-mêmes!) Simultanément dans votre gestionnaire de fichiers du système d'exploitation (en Ctrl- en cliquant dans Windows/Linux ou Command- en cliquant sur OS X), copiez tous ces dossiers, puis collez-les dans le dossier res dans Android Studio.

Les images seront automatiquement collées dans le dossier pouvant être dessiné approprié dans res. Cela fonctionne car si Android Studio remarque que vous copiez et collez un dossier qui existe déjà dans le projet, il utilisera simplement le dossier existant et collera ce qui manque plutôt que de remplacer/supprimer les fichiers déjà présents.

12
mannykary
  1. Sélectionnez le répertoire "res"
  2. Faites un clic droit et sélectionnez "Comparer avec"
  3. Trouvez le répertoire d'où proviennent vos tirables
  4. Masquer les modifications sortantes
  5. Sélectionnez toutes les modifications entrantes et cliquez sur la flèche pour synchroniser.
2
Cal

Avec Finder Mac OS X , vous pouvez simplement copier/coller les dossiers drawable-mdpi, drawable-hdpi, drawable-xdpi, drawable-xxdpi en un seul déplacement vers my_package/, puis sélectionner l’option Fusionner dans la boîte de dialogue correspondante. Cela ajoutera les nouveaux fichiers aux dossiers correspondants dans my_package/.

Notez toutefois que cela n’est possible que si les dossiers source et cible ne contiennent aucun fichier portant le même nom.

2
weibeld

Je le fais généralement de manière très simple: j'utilise this tool pour générer mes images directement dans les bons noms de dossiers: il vous suffit d’ouvrir l’outil et de faire glisser la plus grande image (EG: celle que vous voulez utiliser pour le dossier xhdpi ou le dossier xxhdpi): l’outil créera dans le dossier de l’image originale tous les autres dossiers (mdpi, ldpi, hdpi, etc.) contenant l’image correctement mise à l’échelle. Une fois que vous avez ces dossiers, il vous suffit de les coller dans le dossier res, DONE! 

1
Apperside

J'ai trouvé le moyen le plus simple est simplement de copier les fichiers ou, dans le cas d'une icône de lanceur, de définir les dossiers .  Copy folders

Et collez-les simplement dans le dossier res d'AndroidStudio.

[Paste in AndriodStudio[2]

A bien fonctionné pour moi.

0
Itamar Kerbel

Depuis le studio Android -> Aller à Configurer-> Plugins. Recherchez "Importateur par lots" . Cliquez sur Installer . Redémarrez ensuite Android Studio.

0
akshaypmurgod

La méthode la plus simple et la plus rapide consiste simplement à copier/coller tout en un seul coup si vous avez une image dans un dossier déjà formaté, comme indiqué ci-dessous.

  • Téléchargez une image de Meterial Icons ici

  • Le dossier téléchargé contient tous les niveaux de dossiers pouvant être dessinés (mdpi, Hdpi, etc.).

  • Il suffit de copier tous les dossiers et de le coller dans le dossier res. Ici, le dossierne remplaçant pas uniquement la nouvelle image va ajouter une image existante.

0
Naveen Kumar M

Si vous téléchargez vos icônes à partir de https://material.io/icons/ , vous pouvez utiliser la fonction Bash suivante pour importer plusieurs icônes en une fois:

import_icons() {
  project_dir=${1%/}
  shift 1

  for Zip in "$@"; do
    unzipped_dir=${Zip%.*}
    echo $(basename "$unzipped_dir")
    unzip "$Zip" -d $(dirname "$Zip") >/dev/null
    cp -R "$unzipped_dir"/Android/* "$project_dir/app/src/main/res"
  done
}

Exemple d'utilisation:

$ import_icons ~/Projects/MyProject ic_1.Zip ic_2.Zip ic_3.Zip

cp -R copie les divers répertoires source mdpi, hdpi, etc. et les fusionne pour vous avec ceux existants. Si la structure de répertoires de votre package d'icônes est différente, modifiez simplement le premier argument en cp.

0
weibeld

Dans votre Android Studio, cliquez avec le bouton droit de la souris sur Drawable -> Nouveau -> Image Asset -> Type d’actif: Icônes de barre d’action et de tabulation. Fichier image: chemin_image, Nom de la ressource: nom image -> Suivant -> Terminer

Terminé

Cela ajoutera 4 tailles différentes de votre image afin qu'elle s'adapte en fonction de la taille du périphérique. 

0
Vishal Kumar

Installer importateur extractible Android

Suivez cette CompleteVideoTutorial pour Installer l'importateur dessinable Android et Astuce pour importer très rapidement une dessinable

0
Sunil

Il semble que la manière de le faire consiste à faire glisser les ressources vers AS. Par exemple. Nous avons un tas d’images, nous prenons toutes les images xxhdpi et les déposons dans AS, puis il vous demandera quelle résolution sont ces images. Nous choisissons donc dans le pouup xxhdpi. pop-up, et c'est le moyen d'importer des actifs dans AS et ainsi de suite avec chaque résolution.

0
Pedro Varela