Picasso charge drawable les ressources de leurs URI
J'ai à vous montrer un drawable
de res
dans un ImageView
. Dans cette application, je suis l'aide de Picasso pour certaines raisons.
Dans ce cas, j'ai besoin de charger la drawable
à l'aide de son URI et pas son id.
Pour ce faire, voici mon code:
uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"+context.getPackageName()+"/drawable/" + drawableName);
où drawableName utilisés ici sont des noms de fichiers plutôt que de leur id de ressource.
Puis
Picasso.with(context).load(uri).into(imageView);
Je sais pour sûr que drawable le nom est correct, mais Picasso semble qu'il n'aime pas cette uri.
- vous ne pouvez pas "charger" anyrhing dans le dossier drawable, les ressources sont en lecture seule
- Désolé mon anglais n'est pas si bon 🙂
- ce n'est pas votre anglais, son assez bon, je voulais dire que vous ne pouvez pas ajouter quoi que ce soit dans le dossier drawable
- Non non je ne suis pas charger quoi que ce soit dans drawable dossier. Je suis le chargement d'un drawable dans une ImageView à l'aide de Picasso.
- ok, donc, où est l'image que vous souhaitez ro spectacle? dans votre application res/drawable?
- yep j'ai mis un png à l'intérieur du dossier drawable
- github.com/square/picasso/pull/292
- Vous pouvez mettre des images dans drawable ou de mappage. Généralement drawable dossier est bon pour garder xml pour les formes, les sélecteurs et les milieux. Vous pouvez aussi mettre 9 patch images dans le dossier drawable. 9 patch ne sera pas reconnu depuis le mappage des dossiers. mipmap dossier est strictement pour les images. De cette façon, vous classer, organiser et conserver le mélange de votre image de ressources.
- La réponse est juste au-dessus de ce nom: journaldev.com/13759/...
Vous devez vous connecter pour publier un commentaire.
Si l'image est dans votre dossier drawable, alors vous pouvez simplement charger.
et picasso le charge pas besoin d'un Uri.
pour charger...
Vous pouvez charger l'image des fichiers à partir de votre dossier drawable paresseusement si vous connaissez la valeur de l'entier de l'image que vous souhaitez être chargé.
Alors vous pouvez simplement faire:
Où
est la vue que vous voulez afficher l'image. Par exemple:
Et où
est la valeur de l'entier de la drawable. Vous pouvez récupérer cette valeur entière par:
ainsi que
est le nom de la drawable vous voulez dessiner (c'est à dire "ic_launcher")
CELA PEUT ÊTRE FAIT À L'INTÉRIEUR DE LA ADAPTATEUR
Trouvé la réponse. Malheureusement, Picasso ne permettent pas drawable chargement à l'aide d'URI. C'est la réception d'une fonction.
De picasso v2+ ici est une grosse modification. La nouvelle version est très utile pour gérer le cache des images données. Il utilise l'Instance du Singleton.
GRADLE
Ensemble drawable image
Bonus, obtenir dessiné par nom:
Comme mentionné dans la documentation de Picasso .
ils sont maintenant soutenir le chargement de l'Image de URI comme suit :
de sorte que vous avez à faire quelque chose comme ce qui suit :
tout comme ce que vous faites déjà .
Hopethat aide .
Uri.parse("http://website.com/image.jpg")
est une URI valide pour Picasso. Mais Picasso n'est pas en mesure de charger un drawable avecUri.parse("android.resource://your_drawable")
. Comme ils l'ont dit, cette fonction sera disponible pour Picasso 2.2+