Je suis confronté à un problème avec le nouveau compatibilité descendante avec VectorDrawables. Dans la Bibliothèque de prise en charge 23.2 a été une nouvelle fonctionnalité pour assurer la compatibilité avec Android VectorDrawables indroduced.
J'ai une ImageView qui est un SelectorDrawable attribué. Cette Drawable est titulaire de plusieurs VectorDrawables alors j'ai pensé que je devrais utiliser app:srcCompat pour la compatibilité. Mais il ne fonctionne pas sur mon Galaxy S2 avec android 4.1.2.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ic_gps_fixed_24dp"android:state_activated="true" android:state_selected="true"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp" android:state_activated="true" android:state_selected="false"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp" android:state_activated="false" android:state_selected="true"></item>
<item android:drawable="@drawable/ic_gps_off_24dp" android:state_activated="false" android:state_selected="false"></item>
<item android:drawable="@drawable/ic_gps_not_fixed_24dp"></item>
</selector>
Tous un drawable sont vecteur de fichiers xml.
Lors de l'utilisation de ce SelectorDrawable avec srcCompat, j'obtiens cette erreur:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ic_gps_fixed_24dp.xml from drawable resource ID #0x7f0201c1
at android.content.res.Resources.loadDrawable(Resources.java:1951)
at android.content.res.Resources.getDrawable(Resources.java:672)
at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:173)
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881).xml from drawable resource ID #0x7f0201c1
en utilisant android:src est encore pire.
Si j'utilise le vecteur d'un drawable avec l'app:srcCompat tous fonctionne bien. Donc je suppose que c'est un problème avec le SelectorDrawable et de la compatibilité.
Quelqu'un a eu le même problème et trouvé une solution ou est-il actuellement pas possible d'utiliser VectorDrawables dans SelectorDrawables avant Android 5?
Les Faits En Bref:
- Cible de compilation API 23
- Soutien Libraray 23.3.0
- vectorDrawables.useSupportLibrary = true
- Gradle 2.0