Comment régler le ImageButton
propriété de
app:srcCompat="@drawable/pic"
de manière programmatique ?
Quelque chose comme myImageButton.setBackgroundResource(R.drawable.eng2);
mais la propriété de app:srcCompat
.
Comment régler le ImageButton
propriété de
app:srcCompat="@drawable/pic"
de manière programmatique ?
Quelque chose comme myImageButton.setBackgroundResource(R.drawable.eng2);
mais la propriété de app:srcCompat
.
Vous devez utiliser setImageResource() méthode.
imageButton.setImageResource(R.drawable.eng2);
Tout d'abord, assurez-vous que vous avez affaire à AppCompatImageView
, non régulier ImageView
:
AppCompatImageView iv = (AppCompatImageView)findViewById(....);
et ensuite tu peux le faire :
iv.setImageResource(R.drawable.pic);
Voir les autres méthodes publiques dans les docs .
J'utilise 'ImageButton' avec 'app:srcCompat="@drawable/pic"' mais le réglage sur 'setImageResource(R.drawable.pic);' fonctionne bien. Merci pour votre aide.
Hey Marcin, sais-tu pourquoi nous devons changer l'image de façon programmatique au lieu de donner le chemin entre app:srcCompa="drawable/"
Utilisation de setImageResource()
devrait récupérer sa ressource d'une manière rétrocompatible sans aucun effort supplémentaire.
Cependant, si vous utilisez setImageDrawable()
l'ImageView/ImageButton n'aidera pas à la compatibilité ascendante et c'est à vous de fournir un dessinable compatible avec la compatibilité ascendante, ce qui est important, par exemple, si vous utilisez l'option VectorDrawables
. Ce qui suit permet de charger et de définir un drawable de cette manière :
val drawable = AppCompatResources.getDrawable(context, resourceId)
image.setImageDrawable(drawable)
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.