如何检查图像视图上是否设置了背景色?

时间:2019-04-26 14:46:19

标签: android

我想在“图像”视图上设置背景色,如果它还没有背景色。

我正在尝试类似的方法,但是显然无法正常工作。如何设置

private ImageView myImage = findViewById(R.id.myimage);

if (myImage.getBackground() != null) {
    myImage..setBackgroundColor(0x00000000)
}
else {
    myImage.setBackgroundColor(Color.rgb(100, 100, 50));
}

这项工作是设置背景色并将其删除,但这只是第一次。问题是,当背景设置为0x00000000时,它是透明的,因此不为null。是否可以将背景色设置为null?还是我需要默认将背景设置为透明,并检查背景是否透明?

1 个答案:

答案 0 :(得分:2)

您不需要setBackgroundColor透明。 setBackgroundColor将为背景创建一个ColorDrawable。由于setBackgroundColor要求您提供一个ColorInt,因此无法使用null对其进行调用。不过,您可以做的是将setBackgroundColor(0x00000000)替换为setBackground(null)