viewportwidth / height对Android drawables的影响是什么?

时间:2016-12-28 00:04:51

标签: android svg android-vectordrawable

我有一个SVG drawable。有时,我必须调整大小。通常我会更新宽度和高度。我能解决的是视口宽度和高度如何影响svg。似乎改变这些尺寸可以将svg推出可见区域内的视野。

这些计量单位代表什么?它与宽度和高度的关系分别是什么? documentation from Google是(像往常一样)可悲的不足。有人可以详细说明吗?

4 个答案:

答案 0 :(得分:37)

viewportWidthviewPortHeight定义了在其中绘制VectorDrawable内容的文档区域。它们等同于SVG viewBox的宽度和高度字段。研究如果需要进一步解释,SVG viewBox的工作原理。

所以想象你的形状是一个宽100宽100高的矩形。您的viewportWidthviewPortHeight通常都应设置为100.因此,Android知道基础形状的尺寸。

widthheight属性告诉Android VectorDrawable的默认(“内在”)渲染大小应该是什么。您可以将这些视为PNG或GIF(或SVG)的宽度和高度。

因此,可以在100x100的区域内定义VectorDrawable的内容。但如果您的宽度和高度为24x24,则内容将从100x100缩小到24x24。

这就是为什么用VectorDrawable摆弄viewportWidthviewPortHeight混乱的原因。因此,例如,如果将它们更改为50x50,最终会将形状的一个角缩小到24x24 - 而不是整个形状。

答案 1 :(得分:11)

Viewportwidth / Viewportheight是SVG路径的画布尺寸,宽度/高度是整个drawable的实际内在尺寸。

答案 2 :(得分:8)

让我们假设画布中的苹果是您的主要可绘制矢量。然后, h w 高度< / strong>和宽度。最后, h w 将分别是图形对象的viewportHeightviewportWidth

enter image description here

答案 3 :(得分:2)

viewportWidth就像帧的宽度,width就像该帧内图片的宽度。