Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除(常规)视图(Android)的背景_Java_Android_View_Background - Fatal编程技术网

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颜色,而不是资源。