Быстрый способ поместить изображения 5 размеров в 5 drawable папках в Studio Android

Я загрузил zip ic_add.zip материальных значков дизайна. Эта zip содержит иерархию папок как это:

res --> drawable-hdpi    --> ic_add.png
    --> drawable-mdpi    --> ic_add.png
    --> drawable-xhdpi   --> ic_add.png
    --> drawable-xxhdpi  --> ic_add.png
    --> drawable-xxxhdpi --> ic_add.png

Теперь, мой вопрос состоит в том, как я могу поместить эти 5 значков в их resp. папки внутри myProject/res папка?

т.е. значки внутри drawable-hdpi должен войти myProject/res/drawable-hdpi. То же для других. Прямо сейчас я выбираю один значок и вставляю его соответствующую папку, но это - слишком длинный процесс, когда существует много значков для копирования. Так, я хочу некоторый более быстрый путь или управляю, если это возможно. Я использую человечность 16.04

0
задан 18 August 2017 в 23:40

1 ответ

Я предполагаю это после извлечения Вашего архива в названную папку zip, у Вас есть следующая структура каталогов:

$ tree -F
.
├── myProject/
│  └── res/
│  ├── drawable-hdpi/
│  ├── drawable-ndpi/
│  ├── drawable-xhdpi/
│  └── drawable-xxhdpi/
└── zip/
    ├── drawable-hdpi/
    │  ├── ic_add.png
    │  └── ic_del.png
    ├── drawable-ndpi/
    │  ├── ic_add.png
    │  └── ic_del.png
    ├── drawable-xhdpi/
    │  ├── ic_add.png
    │  └── ic_del.png
    └── drawable-xxhdpi/
        ├── ic_add.png
        └── ic_del.png

Затем можно просто переместить все *.png файлы от всех drawable-*/ каталоги внутри zip/ в их соответствующее drawable-*/ каталоги внутри myProject/res/ использование следующей команды:

for folder in zip/drawable-*/ ; do mv "$folder"/*.png "myProject/res/$(basename $folder)" ; done

Это циклично выполнится по всем zip/drawable-*/ папки, вычислите соответствующий целевой каталог путем добавления последнего компонента контура исходной папки к myProject/res/ путь и перемещение все *.png файлы от исходной папки до целевой папки.

Можно изменить шарики оболочки и пути для установки реальной среде.
Можно заменить mv с cp скопировать файлы вместо того, чтобы переместить их.
Можно записать mv -i чтобы быть спрошенными перед, любые существующие файлы перезаписываются или mv -n пропускать файлы, которые уже существуют и ничего не перезаписывают. Те же переключатели существуют для cp.

Однако отметьте это ни один mv ни cp создайте недостающие каталоги, поэтому удостоверьтесь, что пути назначения для каждого файла уже существуют.

0
ответ дан 2 November 2019 в 10:05

Другие вопросы по тегам:

Похожие вопросы: