我正在尝试动态更改窗口小部件背景颜色,但是当我设置背景颜色时,我会丢失背景布局的边角(使用无色形状作为背景)。
换句话说,当我为背景选择自定义颜色并将其应用于背景时,它会起到应用整个背景可绘制的作用。
那么如何以其他方式完成,以免丢失布局角落,因为没有角落,小部件看起来很糟糕。
答案 0 :(得分:4)
最简单的方法是将ImageView作为背景添加到主布局(fill_parent),并将其背景设置为@ drawable / background_with_corners,其代码如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="3dp" />
</shape>
然后从您的代码调用remoteViews.setInt(R.id.backgroundimage, "setColorFilter", color);
将所选颜色应用于保留形状的图像。
如果SDK&gt; = 16,如果您的颜色具有透明度,请致电remoteViews.setInt(R.id.backgroundimage, "setImageAlpha", Color.alpha(color);
;别的remoteViews.setInt(R.id.backgroundimage, "setAlpha", Color.alpha(color);
我希望这会有所帮助。