web-dev-qa-db-fra.com

Android ImageView n'affiche pas d'image?

Quelqu'un peut-il me dire pourquoi le code suivant ne fonctionne pas? L'image n'apparaît pas du tout.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
     Android:orientation="vertical"
     Android:layout_width="fill_parent"
     Android:layout_height="fill_parent"

   <ImageView
          Android:src="@drawable/splashscreen"
          Android:scaleType="center"
          Android:layout_width="wrap_content"
          Android:layout_height="wrap_content" />

</RelativeLayout>
13
comead

Dans mon cas, toutes les vues image de mon fragment ne s'affichent pas lorsque j'exécute mon application. Le problème est, je prolonge mon " Activité " classe de " FragmentActivity ". donc je viens de le changer " FragmentActivity " en " AppCompatActivity "

peut-être que cela aidera quelqu'un.

21
bst91

Où avez-vous mis le fichier image source? Est-ce que c'est sous le dossier Drawable? Si tel est le cas, créez une source d'image mdpi, hdpi, xhdpi, xxhdpi pour l'image et mettez-la dans des dossiers mdpi, hdpi, xhdpi, xxhdpi.

9
Kai Wang

C’est la solution qui a fonctionné pour moi après avoir vérifié la mise en page XML, le thème, etc. Il suffit de changer le "prolongement de l’activité" de votre classe Java pour "prolongé AppCompatActivity".

Si certaines des solutions suggérées précédemment fonctionnaient pour vous, d’autres ayant le même problème avec une image non visible dans ImageView pourraient également essayer.

6
Clark Kent

Vérifiez les éléments suivants:

  1. Appelez-vous setContentView (pour votre écran de démarrage) sur le thread d'interface utilisateur
  2. Y a-t-il d'autres activités (ou vues) que vous affichez trop rapidement après votre écran de démarrage (c'est-à-dire, en annulant l'écran de démarrage setContentView)?
  3. Essayez d'utiliser match_parent au lieu de wrap_content sur ImageViewlayout_height et layout_width.
3
kenj

J'ai eu le même problème et je l'ai corrigé en développant AppCompatActivity et en renommant mon image pour corriger la norme.
Le nom de mon image (précédemment): splash-1 (n'a pas fonctionné).
Et j'ai essayé de renommer le nom de l'image en splash1 .
Après cela, tout a fonctionné. Remarque: le fichier image peut également être responsable de ce problème.

2
Jasbin Karki

Un bitmap nul = image inutilisable.

Ceci est la base sur la manière dont une image est réellement utilisée. Lorsqu'une image est utilisée dans Android et qu'elle est attribuée, elle convertit en fait l'image en bitmap et, en fonction de la taille de certains paramètres et de divers autres facteurs, elle peut échouer, ce qui entraînerait la conversion de votre image et son renvoi à null, à un échec qui s'est produit.

2
JoxTraex

Quel est le format de votre fichier dessinable? Android préfère utiliser .PNG principalement.

2
Kurty

essayez de réduire un peu la taille de l'image, je suppose que le studio Android ne prend pas en charge l'image avec des pixels plus élevés. Quoi qu'il en soit, mon problème a été résolu

1
rubal islam

Essayez de vérifier le nom de votre image , Par exemple: "img-icon-butterfly.png", ce type de noms doit être renommé et "-" doit être supprimé, utilisez plutôt des noms tels que "imgbutterfly.png".

1
Mayank

Ne pas créer dessiner dossier vous-même. Recréez-le avec Image Asset option dans Android Studio.

Dans mon cas, le problème était le dossier dessinable lui-même. J'avais moi-même créé un dossier pouvant être dessiné. ce n'est pas correct. dans le studio Android, nous devrions créer un dossier pouvant être dessiné avec l'option Image Asset. Je n'ai pas compris la raison, mais maintenant le problème est résolu.

1
kokabi

Dans mon cas, l'image n'était pas visible lors du choix de l'image dans la liste d'images. 

Reconstruire le projet a résolu le problème pour moi. 

Construire -> Projet de reconstruction

1
Rahul Makhija

J'ai eu le même problème. Je ne peux vraiment pas croire à quel point c'était simple. Bien que cela ne soit peut-être pas le problème pour vous, cela a résolu le problème pour moi. Mon fichier image s'appelait Ss-logo.png. Android Studio n'autorise pas les tirets dans les fichiers image. Une fois que je l'ai changé en ss_logo.png, cela a parfaitement fonctionné. Utilisez uniquement des lettres, des chiffres et des traits de soulignement dans le nom de votre fichier image. J'espère que cela t'aides.

1
L.C.

Veuillez vérifier la couleur de votre image ... Si vous utilisez le fond blanc et si vous utilisez l'image couleur blanche, elle ne s'affichera pas ... Essayez de modifier le conteneur d'arrière-plan de l'image en une autre couleur ou de changer la couleur de votre image. J'ai vraiment fait face à cette situation et perdu beaucoup de temps ... J'espère que cela aidera quelqu'un ...

0
BharathRao

J'ai copié/collé une image PNG dans le dossier Drawable et défini toutes les informations et paramètres dans un fichier XML

---> image affichée dans l'aperçu mais pas sur le périphérique/émulateur.

So -> Dans Java Activity, je l'ai rappelé par programme:

  ImageView imview = (ImageView) findViewById(R.id.IdFromXML);
    imview.setImageResource(0);
Drawable draw = getResources().getDrawable(R.drawable.NameOfTheFileInFolder);
draw = (draw);
imview.setImageDrawable(draw);

C'est fait!

Convertissez l'image en PNG si nécessaire. Beaucoup de convertisseurs gratuits en ligne.

0
Tomkat