更改remoteView ImageView背景

时间:2011-06-13 17:13:18

标签: android widget imageview

我有一些带有ImageViews的remoteView,我需要以编程方式更改“android:background”。

我知道如何用“

”更改“android:src”
remoteView.setImageViewResource(int viewId, int srcId);

它工作正常,但我如何更改“android:background”?

由于

3 个答案:

答案 0 :(得分:72)

您可以使用public void setInt (int viewId, String methodName, int value)方法。

remoteView.setInt(R.id.viewid, "setBackgroundResource", R.color.your_color)

答案 1 :(得分:0)

使用setBackgroundResource(int)

此外,您可以注意到这一点。当您查看Android documentation时,如果您可以更改View的xml元素,则通常指向在运行时进行更改的方法。

答案 2 :(得分:0)

jerry-rig方式

我认为您可以使用jerry-rig方式使用新背景执行第二个布局,然后使用这个新布局创建remoteView,如下所示:

  • RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout。 widget1 );
  • RemoteViews remoteViews = new RemoteViews(context.getPackageName(),R.layout。 widget2 );

毕竟,布局不是那么昂贵。