2011-09-13 32 views
21

設置按鈕的背景圖片我使用的是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

回答

74

爲按鈕設置背景圖片是在繪製文件夾,然後用下面的代碼

btn.setBackgroundResource(R.drawable.new_todo_image); 
+0

謝謝你...你的代碼爲我工作 –

0

試試這個:

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

我收到以下錯誤: 方法setBackgroundDrawable(可繪製)在類型視圖不適用的參數(INT) –

+0

我有編輯答案。現在試試。 –

+0

btn.setBackgroundResource(R.drawable.new_todo_image); 此代碼適合要求。並感謝您的更好的建議 –

7

試試這個:

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

截至2014年,這已被棄用。 – katzenhut

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

在Android Studio中設置按鈕背景圖片寫下面的代碼:

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