J'essaie de modifier l'image de ImageButton par programme.
J'essaie de copier ce code, mais le setBackgroundDrawable est déjà obsolète.
public void giveClue(View view) {
Drawable replacer = getResources().getDrawable(R.drawable.icon2);
((ImageButton) view).setEnabled(false);
((ImageButton) view).setBackgroundDrawable(replacer);
gameAdapter.giveClue(game);
}
Mon bouton a été créé en utilisant XML comme suit:
<ImageButton
Android:id="@+id/ImageButton2"
Android:layout_width="24dp"
Android:layout_height="22dp"
Android:layout_alignTop="@+id/imageButton1"
Android:layout_toLeftOf="@+id/ImageButton3"
Android:src="@drawable/icon"
Android:onClick="giveClue"/>
S'il vous plaît aider.
Je vous remercie.
votre code tente de changer l’arrière-plan du bouton. pas son image . Ce sont deux choses différentes
((ImageButton) view).setImageResource(R.drawable.icon2);
Essayez-le, cela fonctionne pour moi
image.setBackgroundResource(R.drawable.ico);
Essayez juste de cette façon:
((ImageButton) view) .setImageDrawable (remplacement);
Bonjour, vous pouvez utiliser le code suivant
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN )
{
((ImageButton) view).setImageResource(getResources().getIdentifier("icon2", "drawable", getPackageName()));
}
else
{
((ImageButton) view).setImageDrawable(getDrawable(getResources().getIdentifier("icon2", "drawable", getPackageName())));
}
J'espère que ceci vous aidera.
En utilisant Kotlin, vous pouvez faire ceci:
val myImageButton = ImageButton(context).apply({
background = null
setImageDrawable(ContextCompat.getDrawable(context,
R.drawable.ic_save_black_24px))
})