Android Vector Drawable Intrinsic

Android Vector Drawable Intrinsic

VectorDrawable引用如下:

android:宽度

用于定义可绘制对象的固有宽度。这个 支持所有尺寸单位,通常用 dp 指定。

"intrinsic"是什么意思?我认为 VectorDrawable 的点与大小无关。如果我不提供宽度,我的应用程序就会崩溃。这个值有什么作用?我没有使用它,但无论如何我都必须输入一个值。

android:widthandroid:height 指定的 VectorDrawable 的固有尺寸为可绘制对象提供 默认大小

考虑以下因素:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/example_drawable"/>

这是什么尺码?

好吧,ImageView 使用 wrap_content,所以它会换行到可绘制对象的大小。如果 VectorDrawables 没有指定默认的高度和宽度,那么这个 ImageView 就没有意义,它应该换行到它的内容的大小,但内容没有大小!

因此VectorDrawables必须有一个默认的宽度和高度。您可以将它们缩放到您需要的大小,但如果在某些情况下没有从其他地方告知它们应该是什么大小,他们需要知道该怎么做。