【发布时间】:2013-01-24 13:25:16
【问题描述】:
这是我想做的:我有一个小部件,我想根据用户选择的颜色设置它的背景。它必须是一个渐变。背景是通过设置linearLayout的背景来设置的。为了测试,我做了一个虚拟背景:
remoteViews.setInt(R.id.layout, "setBackgroundResource", R.drawable.widget_background);
我已经看到了这个问题:Call setImageDrawable from RemoteViews 但我无法理解如何实现。我什至找不到那里提到的setXYZ()。这是我到目前为止所尝试的:
- 动态绘制渐变。在这种方法中,我无法设置背景,因为 AFAIK 所有方法都采用可绘制对象的 id,并且我有一个可绘制对象。
尝试将 ImageView 作为背景(在 LinearLayout 之前)。它没有为小部件提供适当的边距。由于小部件文本是动态的,有时它会超出我想要的 imageView 之外
-
制作我拥有的 bg.xml:
<shape xmlns:android="http://schemas.android.com/apk/res/android" > <padding android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp" /> <corners android:bottomLeftRadius="7dp" android:bottomRightRadius="7dp" android:topLeftRadius="7dp" android:topRightRadius="7dp" /> </shape>
现在我完全糊涂了。有人可以尽快提供帮助(可能更多的代码和更少的链接)吗?另外,请不要像已经问过的那样结束这个问题。
【问题讨论】:
-
在
LinearLayout下使用ImageView作为背景层怎么样? -
我试过了,但忘了提。它没有为小部件提供适当的边距。由于小部件文本是动态的,因此有时它会超出我想要的 imageView