If you use the Vector Asset wizard in Android Studio 1.5.0, any vector drawable XML you import using that wizard goes into res/drawable/
.
However, the build/
directory, and the resulting APK show that those XML files get moved into a res/drawable-anydpi-v21/
resource directory. The -v21
part makes sense, as VectorDrawable
is only supported on API Level 21+. However, -anydpi
seems to be undocumented. I would have expected -nodpi
, both for the original import destination and for where the build system elects to move it.
Has anyone seen official statements for what -anydpi
means, and what its relationship is with -nodpi
? I am looking for practical effects, not merely what some code comments hint at.
These are density-independent resources. The system does not scale resources tagged with this qualifier, regardless of the current screen's density.
For instance:
The dot will appear small on xxhdpi, big on ldpi.
However, the resource resolver will match a specific qualifier if it exists.
For instance
On a Lollipop (API 21) hdpi device, the bitmap is used.
On a Lollipop (API 21) xhdpi device, the vector is used.
These resources take precedence in any dpi.
For instance
On a Lollipop (API 21) hdpi device, the vector is used.
On a Lollipop (API 21) xhdpi device, the vector is used.
Note: anydpi was added in change Ic3288d0236fe0bff20bb1599aba2582c25b0db32.