2016-10-30 1 views
1

Je travaille sur une application qui a besoin de fonctionner sur les appareils Android tout le chemin vers Android Gingerbread (2.3) et semblent avoir rencontrer quelques problèmes d'affichage d'une image SVG.Utiliser des images vectorielles avec Android: drawableTop avant le niveau API 21

Je comprends, la bibliothèque de support me permet d'utiliser des images vectorielles en laissant tomber cette ligne dans mon niveau d'application build.gradle:

vectorDrawables.useSupportLibrary = true 

et je peux alors utiliser une variété de classes de bibliothèque de support ou android:srcCompat pour afficher une SVG dans un ImageView

La question que vous est ici que je ne suis pas en utilisant un ImageView pour afficher mon SVG. J'utilise un TextView avec l'attribut android:drawableTop pour afficher mon SVG comme dans:

<TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/text_no_notes" 
     android:textAlignment="center" 
     android:drawableTop="@drawable/ic_notepad" 
     android:id="@+id/textView" 
     android:textAppearance="@style/TextAppearance.AppCompat.Medium.Inverse" /> 

Depuis android:drawableTop ne pas utiliser les images de la bibliothèque de vecteurs de support, les plantages d'applications lors de l'exécution sur les pré périphériques « L ». Y at-il une solution que je peux utiliser pour obtenir android:drawableTop travail, ou suis-je stck simplement diviser le TextView et utiliser android:srcCompat?

Répondre

2

Il n'y a pas moyen de l'utiliser avec le système TextView. (Code source pertinent: 5.1.1/4.4.4)

Vous pourriez utiliser une classe View personnalisée, mais à ce stade, je pense qu'il vaut mieux utiliser un LinearLayout avec un ImageView et un TextView.

+0

Ugh, je pensais que cela finirait par être la réponse. Merci! –