如何更改 VectorDrawable viewportHeight 和 viewportWidth 以及使用矢量的最佳实践是啥?
Posted
技术标签:
【中文标题】如何更改 VectorDrawable viewportHeight 和 viewportWidth 以及使用矢量的最佳实践是啥?【英文标题】:How to change VectorDrawable viewportHeight and viewportWidth and what is the best practice on working with vector?如何更改 VectorDrawable viewportHeight 和 viewportWidth 以及使用矢量的最佳实践是什么? 【发布时间】:2019-06-24 11:50:08 【问题描述】:我的场景
我从 flaticon 下载 SVG 并在 android Studio 的 Vector Asset Studio 中更改为矢量资源。
我的问题
一切正常。虽然我在导航视图中使用了许多图标。这些向量的大小不同。它们的 viewportWidth 和 viewportHeight 是不同的。我想要的是所有这些具有相同大小的向量,我使用 android:width 和 android:height 到 24dp 但它们的大小不同。
我发现了很多,我知道 viewportWidth 和 viewportHeight 是绘制 SVG 时的画布大小,它对 SVG 的大小没有影响?那么我可以在我的问题中做些什么呢?
【问题讨论】:
在实现到android之前通过第三方编辑器调整矢量图像的大小是击球手。 sketch 是 Mac 上非常强大的编辑器。请尝试在用户之前调整大小。 sketchapp.com/docs/vector-editing 放一些代码和结果,让大家更好理解。 【参考方案1】:根据我的经验,矢量图像只是具有视口宽度和高度,因为它必须绘制路径。
如果增加宽度和高度,路径就会改变。
因此您无需更改 viewportWidth 和 viewportHeight 但您可以在布局中指定宽度/高度。
例如:
以下示例将显示尺寸为 56x56 的图像,并且它使用矢量图像不会被拉伸:
<ImageView
android:id="@+id/imageView"
android:layout_
android:layout_
android:layout_margin="8dp"
android:contentDescription="@null"
app:srcCompat="@drawable/ic_vector" />
希望对您有所帮助。
如果您有任何问题,请告诉我。
【讨论】:
以上是关于如何更改 VectorDrawable viewportHeight 和 viewportWidth 以及使用矢量的最佳实践是啥?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Android的VectorDrawable类绘制矢量图
如何在不修改原始drawable的情况下设置vectorDrawable的色调?
如何使用 vectorDrawable 作为使用 Android 支持库 23.2 的推送通知的图标? setSmallIcon 给出错误
Android开发 VectorDrawable 矢量图 矢量图动画放入到一个xml文件中