Как создать Android VectorDrawables из Illustrator (или аналогичного инструмента)?
Если у меня есть векторное изображение в программе, такой как Illustrator, как я могу получить правильный формат для использования в Android VectorDrawable Framework?
Я нашел инструмент для конвертирования SVG в формат VectorDrawable xml: http://inloop.github.io/svg2android/ но он требует, чтобы SVG использовали только "путь".
Есть идеи, как вывести файлы, как это?
4 ответа
Этот инструмент, кажется, только в настоящее время поддерживает <path>
элементы. Так, например, он не поддерживает <rect>
, <circle>
и т.п.
Если вы используете такие примитивы на своем чертеже, вам необходимо преобразовать их. Я забыл точную опцию, которую вам нужно использовать, но это, вероятно, что-то вроде "Преобразовать в путь".
Эта ссылка может помочь.
Если вы используете Android Studio, лучший способ это:
- Щелкните правой кнопкой мыши на папке "Drawable"> "Создать"> "Векторный актив".
- Нажмите "Локальный файл SVG", чтобы импортировать свой собственный файл SVG, или "Значок материала", чтобы использовать прилагаемые значки.
- Измените имя ресурса на то, что вам нужно.
- Нажмите Next и выберите ваши целевые модули и каталог res.
- Нажмите Готово.
Мастер создает XML из ваших файлов SVG.
Просто используйте SVG для VectorDrawable Converter или его онлайн-версию. Это пакетный конвертер изображений SVG в файлы ресурсов Android Android VectorDrawable.
Ссылка указывает на readme, который предоставляет достаточно информации о том, как использовать конвертер.
Конвертировать все в пути
Перед сохранением файла проекта AI в виде SVG
, убедись, что ты:
Конвертировать все пути в контуры, используя
Object > Expand...
,Конвертировать любые контуры фигуры (например,
<circle>
) чтобыCompound Paths
щелкнув правой кнопкой мыши, когда выбран объект (ы), и выбравMake Compound Path
,
После этого каждая фигура в SVG должна быть <path>
,
Оптимизировать SVG
Когда я попытался преобразовать SVG средней сложности в векторную графику, используя приложение, упомянутое в вопросе, у меня возникли проблемы с его забыванием некоторых частей. Я подумал, что это как-то связано с тем, как он отформатирован, поэтому я решил использовать SVGOMG, приложение для оптимизации SVG, чтобы разделить его до самого необходимого.
Используйте SVGOMG или другое приложение для оптимизации SVG, а затем загрузите файл.
Преобразование оптимизированного SVG в векторное изображение
Возьмите загруженный SVG и поместите его в SVG2Android, и он даст вам то, что вам нужно.