【发布时间】:2013-08-28 15:02:20
【问题描述】:
我需要以编程方式更改按钮的background。该按钮被放置在一个小部件中。
我有一个更改背景颜色的示例here,但这仅用于更改颜色,我想使用图像而不是颜色。
有没有办法以编程方式将背景图像应用到按钮?
谢谢
【问题讨论】:
标签: android
我需要以编程方式更改按钮的background。该按钮被放置在一个小部件中。
我有一个更改背景颜色的示例here,但这仅用于更改颜色,我想使用图像而不是颜色。
有没有办法以编程方式将背景图像应用到按钮?
谢谢
【问题讨论】:
标签: android
我认为您应该可以使用setBackgroundResource,而不是像您链接的示例中那样使用setBackgroundColor。
【讨论】:
我认为你需要使用public void setBackgroundResource (int resid)
【讨论】:
你可以用这个:
setInt(YouButtonId, "setBackgroundResource", YourImageResourceID);
【讨论】:
使用 setBackgroundResource 代替 setBackgroundColor 。
【讨论】:
在您的 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);
地点:
icon 只是资源 id(由 getIdentifier 方法为每个主题动态找到)。
R.layout.widget 是小部件 xml 布局。
R.id.wi_bu_refresh 是小部件布局中的一个按钮,您要更改哪个背景。
希望对你有帮助,干杯。
【讨论】: