Как создать Android VectorDrawables из Illustrator (или аналогичный инструмент)?
Если у меня есть векторное изображение в программе, например Illustrator, как я могу получить правильный формат для рамки Android VectorDrawable?
Я нашел инструмент для преобразования SVG в формат VectorDrawable xml: http://inloop.github.io/svg2android/
но для этого требуется, чтобы SVG использовали только "путь".
Любые идеи о том, как выводить такие файлы?
Ответы
Ответ 1
В настоящее время этот инструмент поддерживает только элементы <path>
. Так, например, он не поддерживает <rect>
, <circle>
и т.д.
Если вы используете примитивы, подобные этому на своем чертеже, вам нужно их преобразовать. Я забываю точный вариант, который вам нужно использовать, но это, вероятно, что-то вроде "Преобразовать в путь".
Эта ссылка может помочь.
https://graphicdesign.stackexchange.com/questions/15475/convert-primitive-to-path-using-svg-format-in-illustrator
Ответ 2
Если вы используете Android Studio, лучший способ:
- Щелкните правой кнопкой мыши по папке "drawable" > New > Vector Asset
- Нажмите "Локальный файл SVG", чтобы импортировать собственный SVG файл или "Значок материала", чтобы использовать предоставленные значки.
- Измените имя ресурса так, как вам нужно.
- Нажмите "Далее" и выберите целевые модули и каталог res.
- Нажмите "Готово".
Мастер создает XML из ваших файлов SVG.
Ответ 3
Просто используйте SVG для VectorDrawable Converter или его онлайн-версию. Это пакетный конвертер изображений SVG в файлы ресурсов Android Android VectorDrawable.
Ссылка указывает на readme, который предоставляет достаточно информации о том, как использовать конвертер.
Ответ 4
Преобразование всего в контуры
Прежде чем сохранять файл проекта AI как SVG
, убедитесь, что вы:
-
Преобразуйте все пути в контуры, используя Object > Expand...
.
-
Преобразуйте любые пути формы (например, <circle>
) в Compound Paths
, щелкнув правой кнопкой мыши, пока вы выбрали объект/ы, и выберите Make Compound Path
.
После этого каждая форма в SVG должна быть <path>
.
Оптимизация SVG
Когда я попытался преобразовать SVG средней сложности в вектор, который можно использовать с помощью приложения, упомянутого в вопросе, у меня возникли проблемы с его забыванием некоторых частей. Я полагал, что это должно иметь какое-то отношение к способу форматирования, поэтому я решил использовать SVGOMG, приложение для оптимизации SVG, чтобы разбить его на свои основные вещи.
Используйте SVGOMG или другое приложение для оптимизации SVG, а затем загрузите файл.
Преобразование оптимизированного SVG в векторный чертеж
Возьмите загруженный SVG и опустите его в SVG2Android, и он даст вам то, что вам нужно.