Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改小部件中按钮的背景:Android_Android - Fatal编程技术网

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

更改小部件中按钮的背景:Android,android,Android,我需要以编程方式更改按钮的背景。该按钮放置在一个小部件中 我有一个改变背景颜色的例子,但这只是为了改变颜色,我想用一个图像而不是颜色 有没有办法通过编程将背景图像应用于按钮 谢谢你我认为你应该能够使用setBackgroundResource而不是像你链接的示例中那样使用setBackgroundColor。我认为你需要使用public void setBackgroundResource(int resid)你可以使用这个: setInt(YouButtonId, "setBackground

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

我有一个改变背景颜色的例子,但这只是为了改变颜色,我想用一个图像而不是颜色

有没有办法通过编程将背景图像应用于按钮


谢谢你

我认为你应该能够使用
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);
其中:

图标只是资源id(由getIdentifier方法为每个主题动态找到)

widget是小部件xml布局

R.id.wi_bu_refresh是小部件布局中的一个按钮,您要更改其背景


希望有帮助,干杯。

我已经试着接受了。但只有4分钟后我才能接受。@SanjayJoshi很好,慢慢来:)