Java 如何删除(常规)视图(Android)的背景
我有以下代码:Java 如何删除(常规)视图(Android)的背景,java,android,view,background,Java,Android,View,Background,我有以下代码: View view = new View(this); view.setBackgroundDrawable(...); ... 在这里,我想删除这个背景。 就像以前一样把它转回去 我尝试了这些,但失败了: view.setBackgroundDrawable(null); view.setBackgroundColor(0xFF000000); view.setBackgroundColor(0x00000000); 还有其他想法吗?这是因为view
View view = new View(this);
view.setBackgroundDrawable(...);
...
在这里,我想删除这个背景。就像以前一样把它转回去 我尝试了这些,但失败了:
view.setBackgroundDrawable(null);
view.setBackgroundColor(0xFF000000);
view.setBackgroundColor(0x00000000);
还有其他想法吗?这是因为
view.setBackgroundColor(int)
要求颜色资源不是“实际”整数值。请尝试使用colors.xml声明它,请参阅。然而,我不太清楚你所说的“删除”背景是什么意思。如果您希望它具有原始值,那么我建议您将原始drawable(使用getBackground()
)存储在某个地方。否则,您很可能会丢失格式,因为Android中的大多数默认背景都是可绘制的资源(选择器),而不是简单的颜色。view.setBackgroundDrawable(null)代码>应该可以工作
您可以尝试以下方法之一:
v.setBackgroundColor(Color.WHITE);
//or
v.setBackgroundColor(Color.parseColor("#ff0000")); //whatever color
确保应用背景的视图是正确的实例。调用invalidate()
强制重画是否会产生影响?非常小的更新:setBackgroundDrawable(Drawable d)
现在已被弃用。使用setBackground(可绘制d)
代替。如果应用程序/父视图不是白色,那么当使用白色时,我们将更改UI视图。setBackgroundColor(int)
采用ARGB颜色,而不是资源。