小编典典

Android:在小部件中更改LinearLayout

java

我有一个非常烦人的问题:

在我的小部件中,我想通过代码更改背景。我在Google文档上注意到,我可以轻松更改Imageview的背景:

remoteViews.setImageViewResource(R.id.my_iv, R.drawable.my_bg);

好的,太容易了,我现在想更改线性布局。我所读到的有关remoteview
ID的信息是,我可以更改位图,整数,布尔,字符串等,但是不能绘制。所以我想我不能使用:

remoteViews.setBitmap(R.id.my_ll,"setBackgroundDrawable",BitmapFactory.decodeResource(context.getResources(), R.drawablemy_bg));

我完全失望,并尝试了最后一个主意:

views.setInt(R.id.my_ll,"setBackgroundResource",R.drawable.my_bg);

但是logcat告诉我:

android.widget.RemoteViews $
ActionException:view:android.widget.LinearLayout不能将方法与RemoteViews一起使用:setBackgroundResource(int)

我完全迷路了,我真的不知道该怎么办…

我将非常感谢您的帮助。

非常感谢!


阅读 273

收藏
2020-11-23

共1个答案

小编典典

由于RemoteViewsAPI的限制,您无法以这种方式修改背景。

当您RemoteViews为此特定更新创建实例时,可以做的是选择一种不同的布局-一种具有所需背景的布局。

2020-11-23