Android Studio не импортирует все части SVG Vector - PullRequest
0 голосов
/ 06 января 2020

Я хочу импортировать векторную графику из иллюстратора для дизайна моего android студийного приложения. Если я экспортирую свою векторную графику как SVG, это прекрасно работает. Все части моего проекта успешно экспортированы, и результат удовлетворительный (изображение 1). Однако, когда я создаю этот SVG-файл как новый векторный актив в Android Studio, один из моих синих кругов внезапно пропадает (см. Изображение 2). Какие могут быть причины, по которым Android studio не импортирует все части моего SVG? Или причиной может быть неправильный экспорт из иллюстратора?

Редактировать: Добавлено изображение 3, показывающее, что произойдет, если я вместо этого использую онлайн-конвертер. Вывод еще хуже.

Любая помощь приветствуется!

Изображение 1:

Picture 1 Exported SVG opend in Microsoft Edge, works as it should

Изображение 2:

Picture 2 Previes in Android Studio (one circle is missing)

Изображение 3 ... Результат, когда я использую онлайн-конвертер для получения вектора xml (также неверно) *

Result when I use a online converter to get a xml vector

Ответы [ 2 ]

1 голос
/ 06 января 2020

Версия SVG, отображаемая в окне конвертера, отображается встроенным средством визуализации SVG в Android Studio. Это предварительный просмотр SVG . Он не обязательно отражает выходной результат конвертера.

Итак, ошибка, которую вы видите, связана со встроенным рендерером SVG.

VectorDrawables на самом деле не поддерживает градиентные заливки. По крайней мере, конвертер их не поддерживает. Поэтому, даже если отображаемый SVG был идеальным, сгенерированный VectorDrawable все равно не будет включать окружности градиента.

Таким образом, у вас есть несколько альтернативных подходов:

  1. Измените ваши круги на solid заполните и затем преобразуйте в VectorDrawables.
  2. Как и # 1, но добавьте градиенты с помощью предопределенных определений градиентов.
  3. Используйте в своем приложении актуальную библиотеку рендеринга SVG (например, AndroidSVG).
  4. Переключитесь на использование растрового фона (ie PNG)
  5. Нарисуйте фон самостоятельно, используя Canvas методы.

Лично я бы go с # 3 .

0 голосов
/ 06 января 2020

Android Studio не конвертирует сложную графику в векторную графику. Он конвертирует только плоские иконки. Вы должны использовать PNG здесь чувак !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...