android - viewportwidth/height 对 Android drawable 有什么影响

标签 android svg android-vectordrawable

我有一个从 SVG 资源导入的矢量可绘制对象。有时,我必须调整大小。通常我会更新宽度和高度。我无法解决的是 viewportwidth 和 height 也如何影响 svg。似乎更改这些尺寸可以将 svg 推到可见区域之外。

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

最佳答案

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

因此,假设您的形状是一个 100 宽和 100 高的矩形。您的 viewportWidthviewPortHeight 通常都应设置为 100。以便 Android 知道底层形状的尺寸。

widthheight 属性告诉 Android VectorDrawable 的默认(“固有”)渲染大小应该是多少。您可以将它们想象成 PNG 或 GIF(或 SVG)的宽度和高度。

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

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

关于android - viewportwidth/height 对 Android drawable 有什么影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41353732/

相关文章:

java - Android Java 中的 Final

java - getApplication() 和使用常规 "new"初始化实例是否相等?

css - 使用 SVG 平铺时只显示一次组

android - VectorDrawable 在 Android 上显示不正确

android - 导入 SVG 出现错误 : `Attribute "android:fillType"was already specified for element "path". `

android - 了解 Android 的 VectorDrawable 属性

android - 获取 Facebook 的 APP_ID?

android - 对象可见性

html - 使用 css 着色 SVG 内容 url

javascript - 使用 topojson 和 D3 映射数据