我有一个从SVG资源导入的矢量可绘制文件。有时候,我不得不调整尺寸。通常我会更新宽度和高度。我不知道viewportwidth和height如何影响svg。似乎更改这些维度会将svg推到可见区域之外
这些计量单位代表什么?它分别与宽度和高度有什么关系?谷歌提供的文档(和往常一样)严重不足。有人能详细说明一下吗
viewportWidth和viewPortHeight定义了可绘制向量内容所在的文档区域。它们相当于SVG视图框的宽度和高度字段。如果需要进一步解释,请研究SVG viewBox的工作原理
假设你的形状是一个100宽100高的矩形。您的viewportWidth和viewPortHeight通常都应设置为100。这样Android就知道了底层形状的尺寸
width和height属性告诉Android VectorDrawable的默认(“固有”)渲染大小应该是多少。您可以将其想象为PNG或GIF(或SVG)的宽度和高度
因此,可以在100x100的区域上定义VectorDrawable的内容。但如果您的宽度和高度为24x24,则内容将从100x100缩小到24x24
所以,这就是为什么摆弄viewportWidth和viewPortHeight会弄乱矢量绘图。因此,例如,如果将其更改为50x50,则最终会将形状的一个角缩小为24x24,而不是整个形状