Comment puis-je charger vecteur dessinables à partir d'un emplacement en ligne et afficher http://arsenal.com/image.xml par exemple sous forme d'imagedessinables charge vecteur d'un emplacement en ligne android
Répondre
Avez-vous besoin de soutenir VectorDrawables sur les appareils plus anciens? Si oui, alors je ne pense pas que ce soit actuellement possible. AFAIK la bibliothèque de support vous permettra seulement d'assigner un VectorDrawable s'il s'agit d'une ressource (par exemple via setImageResource()
).
http://android-developers.blogspot.co.nz/2016/02/android-support-library-232.html
L'alternative serait d'utiliser SVGs à la place et utiliser l'une des bibliothèques SVG pour Android. Cependant, si vous avez seulement besoin de prendre en charge Lollipop et plus tard, il devrait être possible d'utiliser le processus comme indiqué ci-dessous. Bien que je ne l'ai pas essayé moi-même.
Tout d'abord, récupérez le fichier VectorDrawable en tant que flux. À titre d'exemple, voir this question. Vous devrez ensuite créer une instance XmlPullParser.
xppXmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
ensuite dire l'analyseur sur le flux
xpp.setInput(input, null);
Ensuite, vous pouvez obtenir un VectorDrawable en appelant inflate()
. Passez l'instance de l'analyseur.
VectorDrawable vd = new VectorDrawable();
vd.inflate(getResources(), xpp, null, null);
Ensuite, vous devriez être en mesure d'affecter le drawable à votre ImageView.
imageView.setImageDrawable(vd);
Bonne chance!
Transmettre l'URL au navigateur? ou que voulez-vous dire? –
obtenir l'URL et utiliser le chargeur d'image pour l'afficher – Idee