如何在appwidget imageView背景中动态设置渐变?

时间:2015-03-21 09:09:29

标签: android

我在drawable \ skycolor.xml

中设置了渐变
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item>
    <shape>
        <gradient
            android:angle="90"
            android:endColor="#ff5bdddd"
            android:startColor="#ff4688bf"
            android:type="linear" />
    </shape>
</item>

我想将此渐变设置为主屏幕小部件的背景。我已经在窗口小部件中放置了一个imageview。

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:id="@+id/iv_background"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true"
    android:focusableInTouchMode="true" />

如何在updateAppWidget方法中将渐变设置为背景颜色?最初我打算这样做,但它不起作用。

ImageView iv_skyColor = (ImageView)findViewById(R.id.iv_background);
    iv_skyColor.setBackground(@drawable/skycolor);

findViewbyID在updateAppWidget方法中不起作用,

updateAppWidget(Context context, AppWidgetManager appWidgetManager,
                                int appWidgetId)

代码也无法解析@ drawable / skycolor。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

没关系,我设法使用,

views.setImageViewResource(R.id.iv_background, R.drawable.skycolor);