我需要以background
编程方式更改按钮。该按钮被放置在一个小部件中。
我在这里有一个更改背景颜色的示例,但这仅用于更改颜色,我想使用图像而不是颜色。
有没有办法以编程方式将背景图像应用于按钮?
谢谢
而不是在您链接的示例中使用setBackgroundColor
like,您应该能够使用setBackgroundResource
我认为。
在您的 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 是小部件布局中的一个按钮,您要更改哪个背景。
希望有帮助,加油。
你可以使用这个:
setInt(YouButtonId, "setBackgroundResource", YourImageResourceID);
使用setBackgroundResource
而不是setBackgroundColor
.
我认为你需要使用public void setBackgroundResource (int resid)