Android - Comment afficher des images à partir de ressources drawable?
Je ne suis pas en mesure de montrer une image qui est enregistré dans res/drawable dossier.
J'utilise ImageGetter pour ce faire. Le code est ci-dessous:
ImageGetter imageGetter3 = new ImageGetter() {
public Drawable getDrawable(String source) {
int id=0;
if (source.equals("smiley")) {
id = R.drawable.smiley;
}
Drawable d = getResources().getDrawable(id);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};
directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n"
+ "Sta met je rug voor de deur\n"
+ Html.fromHtml("<img src=\"smiley\">", imageGetter3, null) + " Draai naar links\n";
Ce que je vois sur l'écran lors de l'exécution est un peu carré avec "obj" du texte.
Alors quel est le problème? L'image ne peut pas être lu ou quelque chose d'autre?
Comment faire pour afficher les images?
Honnêtement, j'ai Googlé un lot et essayé d'autres méthodes de ImageGetter ainsi, mais aucun d'eux ne semble fonctionner, j'ai essayé ces trop, ils ne travaillent pas:
ImageGetter imageGetter2 = new ImageGetter() {
public Drawable getDrawable(String source) {
Drawable d = null;
d = Drawable.createFromPath(source);
d.setBounds(0,0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
};
ImageGetter imageGetter = new ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawFromPath;
int path = Route.this.getResources().getIdentifier(source, "drawable","com.prj56.tracingapp");
drawFromPath = (Drawable) Route.this.getResources().getDrawable(path);
drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(), drawFromPath.getIntrinsicHeight());
return drawFromPath;
}
};
=========================================================
si (....) {
ImageView iv1 = new ImageView(ce);
iv1.setImageResource(R. drawable.smiley);
directions += "Je bent bij lokaal " + vertrek.getNaam() + "\n"
+ "Sta met je rug voor de deur\n";
HERE COMES THE IMAGE! BUT HOW TO DO THIS? It's within directions textview...
directions += " Draai naar links\n";
}
- Ce n' "afficher l'image" signifie? Où voulez-vous montrer?
Vous devez vous connecter pour publier un commentaire.
Mise À Jour 12 Déc 2016:
getResources().getDrawable() est dépréciée de l'api de 22 de sorte que vous devriez maintenant être en utilisant ContextCompat.getDrawable par exemple
Dans votre activité, vous pouvez appeler cette fonction pour obtenir votre Drawable ressource comme un objet Dessiné
Si vous voulez montrer votre drawable dans une ImageView vous pouvez faire ceci:
ou dans votre fichier xml
Vous pouvez obtenir l'image avec l'aide de pImg.En fonction de la carte en position d'obtenir la chaîne de caractères qui est le nom de l'image.L'image doit être présent dans le dossier drawable.
Un moyen super facile de montrer qu'il s'agit d'écrire ceci dans votre ImageView widget dans votre xml:
android:background="@drawable/your_file_name"
... et assurez-vous d'avoir mis ce fichier image (que ce soit au format png ou jpg, etc.) dans votre dossier drawable. Lorsque vous écrivez
your_file_name
, vous avez besoin seulement le titre, pas l'extension de fichier.Je préfère de cette façon au cours par programme écrit dans votre .fichier java (comme le montrent d'autres réponses ci-dessus), parce que votre xml va vous montrer l'image dans l'aperçu, par programme ne sera pas, il va juste montrer l'ImageView espace réservé.
Facile - Peut être envisager le code ci-dessous
Nous pouvons profiter de Imageview setImageResource , reportez-vous ci-dessous de code pour la même chose.
mettre l'image dans le drawable comme ci-dessous afin
image_1.png, image_2.png, etc.
Maintenant, vous pouvez l'utiliser comme Image, Comme:-
Maintenant le feu ce -