>我在设置背景时遇到问题。
我的情况如下:-
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);
}
我已经通过色调颜色设置了背景,它可以工作。