首页 > 解决方案 > 如何检查图像视图上是否设置了背景颜色?

问题描述

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

我正在尝试这样的事情,但显然它不会工作。我该如何设置

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

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

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

标签: android

解决方案


你不需要setBackgroundColor透明。setBackgroundColor将为背景创建一个ColorDrawable。由于setBackgroundColor需要您提供它,因此ColorInt您不能使用null. 你可以做的就是setBackgroundColor(0x00000000)setBackground(null)


推荐阅读