Использование векторной графики для Android при падении Lollipop

Я использую векторные Drawables в Androidдо леденцов и это некоторые из моих библиотек и версий инструментов:

Android Studio: 2.0Плагин Android Gradle: 2.0.0Инструменты сборки: 23.0.2Библиотека поддержки Android: 23.3.0

Я добавил это свойство на своем уровне приложенияBuild.Gradle

android {  
  defaultConfig {  
    vectorDrawables.useSupportLibrary = true  
   }  
}

Также стоит упомянуть, что я использую дополнительную прорисовку, такую ​​как LayerDrawable (layer_list), как указано в официальном блоге Android (ссылка здесь) для настройки рисования для векторных рисунков за пределамиapp:srcCompat

<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/search"/>
</level-list>

Вы найдете прямые ссылки на векторные элементы рисования вне приложения: srcCompat завершится с ошибкой до Lollipop. Однако AppCompat поддерживает загрузку векторных рисованных объектов, когда на них ссылаются в другом рисуемом контейнере, таком как StateListDrawable, InsetDrawable, LayerDrawable, LevelListDrawable и RotateDrawable. Используя этокосвенностьВы можете использовать векторные элементы рисования в таких случаях, как атрибут TextView android: drawableLeft, который обычно не может поддерживать векторные элементы рисования.

Когда я используюapp:srcCompat все работает нормально, но когда я использую:

android:background
android:drawableLeft
android:drawableRight
android:drawableTop
android:drawableBottom

наImageView, ImageButton, TextView или жеEditText до Lollipop, он бросает ожидание:

Caused by: android.content.res.Resources$NotFoundException: File res/drawable/search_toggle.xml from drawable resource ID #0x7f0200a9

Ответы на вопрос(12)

Ваш ответ на вопрос