动态更改remoteview的背景颜色

时间:2015-03-17 10:58:14

标签: android android-layout remoteview

截至我之前的问题 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中的给定形状执行此操作。

提前致谢:)

2 个答案:

答案 0 :(得分:0)

您无法动态更新小部件。

您可以使用setBitmap() method更改RemoteView内视图的位图。如果视图位于背景,则应更改背景。然后更新窗口小部件以进行更改。

如果您在通知中使用RemoteViews,则应在此之后更新通知。如果您在Widget中使用它,则应使用appWidgetManager.updateAppWidget(appWidgetId, views);函数。

答案 1 :(得分:0)

对于其他正在寻找的人

remoteView.setInt(R.id.container, "setBackgroundColor", backgroundColor);