viewportwidth/height 对 Android 可绘制对象有什么影响
What is the impact of viewportwidth/height on Android drawables
我有一个从 SVG 资产导入的矢量可绘制对象。有时,我必须调整尺寸。通常我更新宽度和高度。我无法解决的是视口宽度和高度如何影响 svg。似乎更改这些尺寸可以将 svg 推到可见区域内的视图之外。
这些计量单位代表什么?它分别与宽度和高度有什么关系? documentation from Google 是,(像往常一样)严重不足。有人可以详细说明吗?
Viewportwidth/Viewportheight 是 SVG 路径的 canvas 尺寸,width/height 是整个可绘制对象的实际固有尺寸。
viewportWidth
和 viewPortHeight
定义了在其中绘制 VectorDrawable 内容的文档区域。它们相当于 SVG viewBox
的宽度和高度字段。如果您需要进一步的解释,请研究 SVG viewBox 的工作原理。
想象一下你的形状是一个长方形,宽 100,高 100。您的 viewportWidth
和 viewPortHeight
通常都应设置为 100。这样 Android 就知道基础形状的尺寸。
width
和 height
属性告诉 Android VectorDrawable 的默认 ("intrinsic") 渲染大小应该是多少。您可以将它们想象成 PNG 或 GIF(或 SVG)的宽度和高度。
因此 VectorDrawable 的内容可以定义在 100x100 的区域上。但是如果你的宽和高是24x24,内容就会从100x100缩小到24x24。
这就是摆弄 viewportWidth
和 viewPortHeight
与 VectorDrawable 混淆的原因。因此,例如,如果将它们更改为 50x50,则最终形状的一个角将缩小为 24x24,而不是整个形状。
只是 viewportWidth
就像框架的宽度,width
就像框架内图片的宽度。
假设 canvas 中的苹果是您的主要 向量可绘制对象 。那么 h 和 w 分别是 canvas 的 height 和 width。所以最后 h 和 w 将分别是你的 drawable 的 viewportHeight
和 viewportWidth
我有一个从 SVG 资产导入的矢量可绘制对象。有时,我必须调整尺寸。通常我更新宽度和高度。我无法解决的是视口宽度和高度如何影响 svg。似乎更改这些尺寸可以将 svg 推到可见区域内的视图之外。
这些计量单位代表什么?它分别与宽度和高度有什么关系? documentation from Google 是,(像往常一样)严重不足。有人可以详细说明吗?
Viewportwidth/Viewportheight 是 SVG 路径的 canvas 尺寸,width/height 是整个可绘制对象的实际固有尺寸。
viewportWidth
和 viewPortHeight
定义了在其中绘制 VectorDrawable 内容的文档区域。它们相当于 SVG viewBox
的宽度和高度字段。如果您需要进一步的解释,请研究 SVG viewBox 的工作原理。
想象一下你的形状是一个长方形,宽 100,高 100。您的 viewportWidth
和 viewPortHeight
通常都应设置为 100。这样 Android 就知道基础形状的尺寸。
width
和 height
属性告诉 Android VectorDrawable 的默认 ("intrinsic") 渲染大小应该是多少。您可以将它们想象成 PNG 或 GIF(或 SVG)的宽度和高度。
因此 VectorDrawable 的内容可以定义在 100x100 的区域上。但是如果你的宽和高是24x24,内容就会从100x100缩小到24x24。
这就是摆弄 viewportWidth
和 viewPortHeight
与 VectorDrawable 混淆的原因。因此,例如,如果将它们更改为 50x50,则最终形状的一个角将缩小为 24x24,而不是整个形状。
只是 viewportWidth
就像框架的宽度,width
就像框架内图片的宽度。
假设 canvas 中的苹果是您的主要 向量可绘制对象 。那么 h 和 w 分别是 canvas 的 height 和 width。所以最后 h 和 w 将分别是你的 drawable 的 viewportHeight
和 viewportWidth