更改小部件中按钮的背景:Android

时间:2013-08-26 07:24:40

标签: android

我需要以编程方式更改按钮的background。该按钮放在一个小部件中。

我有一个更改背景颜色here的示例,但这仅用于更改颜色,我想使用图像而不是颜色。

有没有办法以编程方式将背景图像应用于按钮?

谢谢

5 个答案:

答案 0 :(得分:3)

在您链接的示例中,您应该能够使用setBackgroundColor,而不是使用setBackgroundResource

答案 1 :(得分:3)

在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是widget xml layout。

R.id.wi_bu_refresh是窗口小部件布局中的按钮,您要更改的背景。

希望它有所帮助,干杯。

答案 2 :(得分:0)

您可以使用:

setInt(YouButtonId, "setBackgroundResource", YourImageResourceID); 

答案 3 :(得分:0)

使用setBackgroundResource代替setBackgroundColor

答案 4 :(得分:-1)

我认为您需要使用public void setBackgroundResource (int resid)