1

Я перехожу к векторным чертежам, и они работают очень хорошо даже на старых версиях Android. Мое приложение нацелено на 4+. Я переключил одно из своих уведомлений на векторное изображение, и для этого мне пришлось использовать программный код VectorDrawableCompat. Внезапно я получаю исключения для этого уведомления, потому что он не может найти ресурс.

Это исключение:

Fatal Exception: android.content.res.Resources$NotFoundException: File res/drawable-hdpi-v4/vector_name.png from xml type xml resource ID #0x7f0201d5 
     at android.content.res.Resources.loadXmlResourceParser(Resources.java:3733) 
     at android.content.res.Resources.loadXmlResourceParser(Resources.java:3680) 
     at android.content.res.Resources.getXml(Resources.java:2215) 
     at android.support.graphics.drawable.VectorDrawableCompat.create(VectorDrawableCompat.java:408) 

Это код, который я бегу:

VectorDrawableCompat vector = VectorDrawableCompat.create(getResources(), R.drawable.vector_name, null); 

Мой Gradle файл имеет следующую строку vectorDrawables.useSupportLibrary = true и, как я сказал, все остальные векторы работают отлично но я в основном использую их, используя AppCompatImageView.

EDIT: Я должен упомянуть, что я делаю это в библиотечном модуле.

+0

Возможно, разработчики забыли добавить в библиотеку поддержки. Вы можете поднять проблему разработчикам Google. –

ответ

0

Вам нужно добавить эту строку внутри defaultConfig блока в файле build.gradle:

vectorDrawables.useSupportLibrary = true 

Это будет генерировать PNGs для API, ниже 21 во время выполнения, и вы не получите сообщение об ошибке, потому что они не являются найденный.

+1

Я использую это уже. – casolorz

0

Линия от вашего logcat говорит:

Fatal Exception: android.content.res.Resources $ NotFoundException: Файл Рез/вытяжке-ИПЧР-v4/vector_name.png из XML-ресурса типа XML ID # 0x7f0201d5

Предлагается использовать vector_name.png вместо xml-файла в вашей папке с выделением.

Смежные вопросы