我正在尝试以编程方式更改窗口小部件的形状颜色。
我的小部件布局如下所示:
<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,因为我没有引用我的按钮。
谢谢