如何使用RemoteViews更改小部件背景?

4
<RelativeLayout
    android:id="@+id/widget"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/my_background"
    android:orientation="vertical" >

现在我想使用RemoteViews将此背景更改为"@drawable/your_bck"。 我尝试了类似以下的内容:

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.yout_bck);
remoteViews.setImageViewBitmap(R.id.widget, bitmap);

但是后来显示“小部件无法加载”

它必须作为背景,因为我需要在图像中心设置文本 :)

1个回答

3
你正在对一个 RelativeLayout 调用 setImageViewBitmap 方法。一个 RelativeLayout 不是一个 ImageView。你可以在里面放一个填充整个 RelativeLayoutImageView,然后对其调用该方法。

我明白了,但我需要在这张图片的中心放一些文本。我想做一个类似电池小部件的东西 :) - Jakub Pomykała
好的,那么将一个TextView放置在ImageView的顶部居中位置。 - kabuko
哦,我的天啊,它起作用了。我之前一直在尝试做这个,但我认为用这种方式不可能实现。非常感谢 :) 哦,这个可怕的GUI UI编辑器 :/ - Jakub Pomykała
别指望 GUI 编辑器了,直接编辑 XML 文件吧。如果这样就够了,你可以接受它作为答案(点击我回答左边的勾选标记)。 - kabuko
完成。我猜现在我可以使用我编写的代码更新这个ImageView了,对吧? - Jakub Pomykała

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接