À 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é:
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).
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,
[Icône de lanceur, Icônes de barre d’action, Icônes de notification]
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.
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.
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.
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!
Depuis le studio Android -> Aller à Configurer-> Plugins. Recherchez "Importateur par lots" . Cliquez sur Installer . Redémarrez ensuite Android Studio.
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.
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
.
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.
Installer importateur extractible Android
Suivez cette CompleteVideoTutorial pour Installer l'importateur dessinable Android et Astuce pour importer très rapidement une dessinable
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.