VectorDrawable: Android загружает xhdpi PNG вместо векторного ресурса

Я пытаюсь использовать VectorDrawable на API21, но Android загружает ресурс PNG из папки xxhdpi . Моя текущая структура res выглядит следующим образом:

  • Рез
    • рисуем-xxhdpi
      • test_icon.png
    • вытяжка-21
      • test_icon.xml

И мой XML-макет:

 <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/test_icon"/> 

Есть ли другие способы решить эту проблему? По моему мнению, Android всегда будет выбирать ресурс PNG, но если это так, как можно использовать VectorDrawables для API21 и PNG для более низких API?

[Обновление 1]

Если мы используем папку ресурса drawable-xxhdpi-21 , Android выберет вектор вместо ресурса PNG. Но это означает, что нам пришлось бы иметь копию (или символическую ссылку) файла для других плотностей (например, xhdpi , hdpi и т. Д.),

Solutions Collecting From Web of "VectorDrawable: Android загружает xhdpi PNG вместо векторного ресурса"

Drawable-anydpi-v21 подходит для этого

 drawable-anydpi-v21/test_icon.xml 

https://google.github.io/material-design-icons/#icons-for-android

Решение, которое я нашел, немного взломан, но, похоже, работает. Вместо того, чтобы помещать ваши файлы VertorDrawable xml в каждом из ведра с версией, если вы поместите их в drawable-w1dp-v21 он берет нужный ресурс и не нуждается в нескольких копиях.

Это связано с тем, что, решив, какой ресурс использовать, Android проверяет плотность и после минимальной плотности ширины, которая в этом случае всегда будет больше 1dp 🙂

Обновление: как @pengrad упоминает лучше всего использовать ведро anydpi . 🙂