如何通过代码设置按钮背景图像

时间:2011-09-13 06:41:32

标签: java android button

我正在使用使用以下代码创建的Button

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);

我在路径@drawable/new_todo_image中有一个图像,可以设置为按钮的背景。如何以编程方式将其设置为Button

6 个答案:

答案 0 :(得分:88)

用于设置可绘制文件夹中按钮的背景图像,然后使用下面的代码

btn.setBackgroundResource(R.drawable.new_todo_image);

答案 1 :(得分:7)

试试这个:

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

答案 2 :(得分:1)

试试这个

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

答案 3 :(得分:1)

在android studio中设置Button background image写下面的代码:

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

答案 4 :(得分:0)

试试这个:

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

答案 5 :(得分:0)

您应该将png文件放入Drawable文件夹,然后尝试以下代码:

Button buttonSES = (Button) findViewById(R.id.buttonSES)    
buttonSES.setBackgroundResource(R.drawable.image1);  //image1.png