我想在“图像”视图上设置背景色,如果它还没有背景色。
我正在尝试类似的方法,但是显然无法正常工作。如何设置
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?还是我需要默认将背景设置为透明,并检查背景是否透明?
答案 0 :(得分:2)
您不需要setBackgroundColor
透明。 setBackgroundColor
将为背景创建一个ColorDrawable
。由于setBackgroundColor
要求您提供一个ColorInt
,因此无法使用null
对其进行调用。不过,您可以做的是将setBackgroundColor(0x00000000)
替换为setBackground(null)