2013-08-26 92 views
2

我需要以編程方式更改按鈕background。該按鈕放置在一個小部件中。更改窗口小部件中按鈕的背景:Android

我得到了一個改變背景顏色here的例子,但這只是爲了改變顏色,我想使用圖像而不是顏色。

有沒有什麼辦法以編程方式將背景圖像應用於按鈕?

謝謝

回答

3

而不是使用setBackgroundColor像例子中,你鏈接,你應該能夠使用setBackgroundResource我想到的。

+1

是的,它的工作。 –

+0

我已經試圖接受它。但只有4分鐘後我才能接受。 –

+0

@SanjayJoshi請花時間:) –

-1

我認爲你需要使用public void setBackgroundResource (int resid)

0

您可以使用此:

setInt(YouButtonId, "setBackgroundResource", YourImageResourceID); 
0

使用setBackgroundResource,而不是setBackgroundColor

2

在你的AppWidgetProvider類:

private RemoteViews v; 
... in onUpdate: 
v = new RemoteViews(context.getPackageName(), R.layout.widget); 
... 
icon = context.getResources().getIdentifier("ic_action_refresh_"+choosenTheme, "drawable", context.getPackageName()); 
v.setInt(R.id.wi_bu_refresh, "setBackgroundResource", icon); 

其中:

圖標只是資源ID(由則getIdentifier方法動態發現每一個主題)。

R.layout.widget是小部件xml佈局。

R.id.wi_bu_refresh是窗口小部件佈局中的一個按鈕,您想要更改哪個背景。

希望它有幫助,歡呼聲。