web-dev-qa-db-fra.com

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

Je viens de commencer à apprendre Android. Et je ne sais pas Comment puis-je changer l'image d'un ImageView? c'est-à-dire qu'il a une image qui a été définie dans la mise en page mais je veux changer cette image par le codage, comment dois-je le 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 d'avoir répondu.

137
BBdev

Si vous avez créé imageview à l'aide d'un fichier xml, suivez les étapes.

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éé une image view à partir de Java Class

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

Regardez le API ImageView . Il existe plusieurs méthodes setImage*. Lequel utiliser dépend de l'image que vous fournissez. Si vous avez l'image en tant que ressource (par exemple, fichier res/drawable/my_image.png)

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

Juste pour aller un peu plus loin dans le sujet, 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 sûr, cette technique n’est utile que si vous devez modifier l’image.

14
rotterick
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]));
}
3
Rohit Mandiwal