web-dev-qa-db-fra.com

Comment définir l'image de fond du bouton par le code

J'utilise une Button créée à l'aide du code suivant

LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);

Button btn = new Button(this);
btn.setOnClickListener(newtodobtn);
btn.setText("New Todo");

btn.setBackgroundDrawable(new Button(this).getBackground());

ll.addView(btn);

J'ai une image dans le chemin @drawable/new_todo_image à définir comme arrière-plan pour le bouton. Comment le définir à la Button par programme?

25
Pattabi Raman

pour définir l'image de fond pour le bouton qui se trouve dans le dossier pouvant être dessiné, utilisez le code ci-dessous

btn.setBackgroundResource(R.drawable.new_todo_image);
88
Niranj Patel

Essaye ça: 

btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.new_todo_image));
7
Bandzio

Dans Android studio pour définir l’arrière-plan du bouton, écrivez le code suivant: 

int image_resid = getApplicationContext().getResources().getIdentifier("image_name", "drawable", getApplicationContext().getPackageName());
button.setBackgroundResource(image_resid);
1
Subhash Khimani

Essayez comme ça

final int sdk = Android.os.Build.VERSION.SDK_INT;
    if(sdk < Android.os.Build.VERSION_CODES.JELLY_BEAN)
     {
      mBtn.setBackgroundDrawable( getResources().getDrawable(R.drawable.new_todo_image) );
     } 
    else
       {
       mBtn.setBackground( getResources().getDrawable(R.drawable.new_todo_image));
       }
1
King of Masses

essaye ça:

btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.new_todo_image));
0
Vineet Shukla