Ответ 1
viewportWidth
и viewPortHeight
определяют область документа, содержание VectorDrawable втягивается внутрь. Они эквивалентны полям ширины и высоты SVG viewBox
. Изучите, как работает SVG viewBox, если вам нужны дополнительные объяснения.
Итак, представьте, что ваша фигура - это прямоугольник шириной 100 и 100. viewPortHeight
правило, у вашего viewportWidth
и viewPortHeight
должно быть установлено значение 100. Таким образом, Android знает размеры базовых фигур.
Атрибуты width
и height
указывают Android, каков должен быть размер рендеринга по умолчанию ("внутренний") VectorDrawable. Вы можете думать о них, как о ширине и высоте PNG или GIF (или SVG, если на то пошло).
Таким образом, содержимое вашего VectorDrawable может быть определено в области 100x100. Но если ваша ширина и высота 24x24, содержимое будет уменьшено с 100x100 до 24x24.
Так что, почему возиться с viewportWidth
и viewPortHeight
беспорядочно с VectorDrawable. Например, если вы измените их на 50x50, вы получите один угол формы, уменьшенный до 24x24, вместо всей фигуры.