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.
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);
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);
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.
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]));
}