139 votes

Comment puis-je changer l'image d'une ImageView ?

Je viens de commencer à apprendre Android. Et je ne sais pas Comment puis-je changer l'image d'une ImageView ? c'est-à-dire qu'il y a une image qui a été définie dans la mise en page mais je veux changer cette image par le biais du codage, comment dois-je faire ?

Voici le fichier xml

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#cc8181"
 >

<ImageView
  android:id="@+id/image"
  android:layout_width="50dip"
  android:layout_height="fill_parent" 
  android:src="@drawable/icon"
  android:layout_marginLeft="3dip"
  android:scaleType="center"/>

Merci de votre réponse.

256voto

Sankar Ganesh Points 6607

Si vous avez créé imageview en utilisant le fichier xml, suivez les étapes suivantes.

Solution 1 :

Étape 1 : Créer un fichier XML

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#cc8181"
  >

  <ImageView
      android:id="@+id/image"
      android:layout_width="50dip"
      android:layout_height="fill_parent" 
      android:src="@drawable/icon"
      android:layout_marginLeft="3dip"
      android:scaleType="center"/>

</LinearLayout>

Étape 2 : créer une activité

ImageView img= (ImageView) findViewById(R.id.image);
img.setImageResource(R.drawable.my_image);

Solution 2 :

Si vous avez créé imageview à partir de la classe Java

ImageView img = new ImageView(this);
img.setImageResource(R.drawable.my_image);

40voto

FrVaBe Points 14559

Jetez un coup d'œil à la API ImageView . Il existe plusieurs setImage* méthodes. La méthode à utiliser dépend de l'image que vous fournissez. Si vous avez l'image comme ressource (par exemple le fichier res/drawable/my_image.png)

ImageView img = new ImageView(this);  // or (ImageView) findViewById(R.id.myImageView);
img.setImageResource(R.drawable.my_image);

14voto

rotterick Points 76

Pour aller un peu plus loin, vous pouvez aussi définir directement un bitmap, comme ceci :

ImageView imageView = new ImageView(this);  
Bitmap bImage = BitmapFactory.decodeResource(this.getResources(), R.drawable.my_image);
imageView.setImageBitmap(bImage);

Bien entendu, cette technique n'est utile que si vous devez modifier l'image.

3voto

rohit mandiwal Points 4883
if (android.os.Build.VERSION.SDK_INT >= 21) {
            storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position], context.getTheme()));
} else {
            storeViewHolder.storeNameTextView.setImageDrawable(context.getResources().getDrawable(array[position]));
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X