Как создать Android VectorDrawables из Illustrator (или аналогичного инструмента)?

Если у меня есть векторное изображение в программе, такой как Illustrator, как я могу получить правильный формат для использования в Android VectorDrawable Framework?

Я нашел инструмент для конвертирования SVG в формат VectorDrawable xml: http://inloop.github.io/svg2android/ но он требует, чтобы SVG использовали только "путь".

Есть идеи, как вывести файлы, как это?

4 ответа

Решение

Этот инструмент, кажется, только в настоящее время поддерживает <path> элементы. Так, например, он не поддерживает <rect>, <circle> и т.п.

Если вы используете такие примитивы на своем чертеже, вам необходимо преобразовать их. Я забыл точную опцию, которую вам нужно использовать, но это, вероятно, что-то вроде "Преобразовать в путь".

Эта ссылка может помочь.

https://graphicdesign.stackexchange.com/questions/15475/convert-primitive-to-path-using-svg-format-in-illustrator

Если вы используете Android Studio, лучший способ это:

  • Щелкните правой кнопкой мыши на папке "Drawable"> "Создать"> "Векторный актив".
  • Нажмите "Локальный файл SVG", чтобы импортировать свой собственный файл SVG, или "Значок материала", чтобы использовать прилагаемые значки.
  • Измените имя ресурса на то, что вам нужно.
  • Нажмите Next и выберите ваши целевые модули и каталог res.
  • Нажмите Готово.

Мастер создает XML из ваших файлов SVG.

Просто используйте SVG для VectorDrawable Converter или его онлайн-версию. Это пакетный конвертер изображений SVG в файлы ресурсов Android Android VectorDrawable.

Ссылка указывает на readme, который предоставляет достаточно информации о том, как использовать конвертер.

Конвертировать все в пути

Перед сохранением файла проекта AI в виде SVG, убедись, что ты:

  1. Конвертировать все пути в контуры, используя Object > Expand...,

  2. Конвертировать любые контуры фигуры (например, <circle>) чтобы Compound Paths щелкнув правой кнопкой мыши, когда выбран объект (ы), и выбрав Make Compound Path,

После этого каждая фигура в SVG должна быть <path>,


Оптимизировать SVG

Когда я попытался преобразовать SVG средней сложности в векторную графику, используя приложение, упомянутое в вопросе, у меня возникли проблемы с его забыванием некоторых частей. Я подумал, что это как-то связано с тем, как он отформатирован, поэтому я решил использовать SVGOMG, приложение для оптимизации SVG, чтобы разделить его до самого необходимого.

Используйте SVGOMG или другое приложение для оптимизации SVG, а затем загрузите файл.


Преобразование оптимизированного SVG в векторное изображение

Возьмите загруженный SVG и поместите его в SVG2Android, и он даст вам то, что вам нужно.

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