截至我之前的问题 here 我成功地通过透明图像做到了这一点。现在我想在远程视图中动态更改图像的背景颜色(PS我希望像这样制作小部件,并且动态地改变给定链接中图像的颜色)。
我尝试了以下代码:
ColorFilter cf = new PorterDuffColorFilter(-15032095, Mode.MULTIPLY);
Drawable d= context.getResources().getDrawable(R.drawable.panel1);
d.mutate();
d.setColorFilter(cf);
rv.setBitmap(R.id.rl_noti_main, "setColorFilter", drawableToBitmap(d));
但它没有帮助。我怎样才能实现这一目标? 我有所有格式的颜色代码整数,十六进制或字符串,无论它需要什么。 请注意,我只想对this链接和remoteview中的给定形状执行此操作。
提前致谢:)
答案 0 :(得分:0)
您无法动态更新小部件。
您可以使用setBitmap() method更改RemoteView
内视图的位图。如果视图位于背景,则应更改背景。然后更新窗口小部件以进行更改。
如果您在通知中使用RemoteViews
,则应在此之后更新通知。如果您在Widget
中使用它,则应使用appWidgetManager.updateAppWidget(appWidgetId, views);
函数。
答案 1 :(得分:0)
对于其他正在寻找的人
remoteView.setInt(R.id.container, "setBackgroundColor", backgroundColor);