Что такое Android векторные чертежи спецификации - PullRequest
4 голосов
/ 19 июня 2020

Я пытаюсь заменить все мои Android рисованные ресурсы png на VectorDrawables.

Там, где я использую стандартные ресурсы Android Studio, очевидно, все в порядке.

Некоторые внешние импортированные ресурсы SVG не работают as Android не поддерживает стандартную спецификацию SVG.

Существует ли спецификация Android с возможностью векторной графики? в котором перечислены все допустимые команды SVG, которые принимает Android (Android Studio)?

1 Ответ

2 голосов
/ 21 июня 2020

Насколько мне известно, для формата VectorDrawable нет формальной письменной спецификации, кроме определения класса VectorDrawable в документации.

https://developer.android.com/reference/android/graphics/drawable/VectorDrawable

На этой странице также довольно много дополнительной информации:

https://developer.android.com/studio/write/vector-asset-studio

Ни у одного из них нет списка элементов SVG, поддерживаемых импортер. Однако вы можете посмотреть код импортера в исходном коде Android, чтобы получить окончательный ответ о том, что поддерживается. Исходный код находится здесь: SVG2Vector. java

Из кода видно, что поддерживаемые элементы SVG ограничены:

<polygon>, <rect>, <circle>, <line>, <path>, <g>

Обратите внимание, что они поддерживаются только частично, так как обрабатывается только ограниченный набор их атрибутов. В основном только относящиеся к stroke и fill, а также transform и display:none.

Однако есть и другие сторонние преобразователи, которые утверждают, что лучше работают. Хотя то, что они могут поддерживать, ограничено тем, что поддерживает сам VectorDrawable.

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