我有以下代码:
View view = new View(this);
view.setBackgroundDrawable(...);
...
在这里,我想删除该背景 就像以前一样把它转回来。
我尝试了这些并且失败了:
view.setBackgroundDrawable(null);
view.setBackgroundColor(0xFF000000);
view.setBackgroundColor(0x00000000);
还有什么想法?
答案 0 :(得分:20)
view.setBackgroundDrawable(null);
应该有用。
您可以尝试以下方法之一:
v.setBackgroundColor(Color.WHITE);
//or
v.setBackgroundColor(Color.parseColor("#ff0000")); //whatever color
确保您应用背景的视图是正确的实例。
答案 1 :(得分:1)
那是因为view.setBackgroundColor(int)
期望颜色资源不是“实际”整数值。尝试在colors.xml中声明它,请参阅this。但是,我不太清楚“移除”背景是什么意思。如果您希望它具有原始值,那么我建议您将原始drawable(使用getBackground()
)存储在某处。否则你很可能会失去格式,因为Android中的大多数默认背景都是Drawable资源(选择器),而不是简单的颜色。