我需要以编程方式更改按钮的background
。该按钮放在一个小部件中。
我有一个更改背景颜色here的示例,但这仅用于更改颜色,我想使用图像而不是颜色。
有没有办法以编程方式将背景图像应用于按钮?
谢谢
答案 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)