第二次设置后台资源时出现问题



>我在设置背景时遇到问题。

我的情况如下:-

if (!TextUtils.isEmpty(selectedRgbArray[3].getCode())) {
    color_3.setBackgroundColor(Color.parseColor(selectedRgbArray[3].getValue()));
} else {
    color_3.setBackgroundResource(R.drawable.bg_palette);
}        

在上述条件下,默认情况下编译器进入 else 条件,但在单击按钮后,它再次进入第二个条件,第一次它工作正常,但第二次它设置灰色背景,不能像bg_palette那样gray border drawable

bg_palette.xml如下:-

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF" />
    <stroke
        android:width="@dimen/size_01"
        android:color="@color/light_grey" />
    <corners android:radius="0dip" />
</shape>

请帮我解决那里的错误。提前谢谢。

在你的代码中试试这个。

1.为颜色添加颜色

<color name="color_white">#FFFFFF</color>

2.设置为实心

<solid android:color="@color/color_white" />

编辑

添加形状 xml 代码的android:shape="rectangle"

<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">

您可以更改为其他形状.

感谢大家,它通过将颜色过滤器设置为背景找到了解决方案

if (!TextUtils.isEmpty(selectedRgbArray[3].getCode())) {
     color_1.getBackground().setColorFilter(Color.parseColor(selectedRgbArray[1].getValue()), PorterDuff.Mode.DARKEN);
} else {
    color_1.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.DARKEN);
} 

我已经通过色调颜色设置了背景,它可以工作。

最新更新