Android:以编程方式更改窗口小部件的形状颜色

时间:2014-06-16 11:20:25

标签: java android android-layout widget android-widget

我正在尝试以编程方式更改窗口小部件的形状颜色。

我的小部件布局如下所示:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

    <ImageButton
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:adjustViewBounds="true"
        android:background="@drawable/transparent_color"
        android:clickable="true"
        android:focusable="true"
        android:padding="8dp"
        android:scaleType="fitCenter"
        android:src="@drawable/btn03_off" />
</FrameLayout>

在我的设置活动中,我正在以编程方式更改背景形状和图像。我也需要改变形状的颜色。

 views.setInt(R.id.button, "setBackgroundResource", R.drawable.rounded_conners);
 views.setImageViewResource(R.id.button, mImageResId);

我无法弄清楚如何为我的小部件的形状设置颜色。我可以这样做:

 ((GradientDrawable) mPreviewImageView.getBackground()).setColor(colorId);

但这不适用于widget,因为我没有引用我的按钮。

谢谢

0 个答案:

没有答案