如何设置视图的背景颜色?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (16)

我试图设置一个视图的背景颜色(在例子里是一个按钮)。

使用这个代码:

// set the background to green
v.setBackgroundColor(0x0000FF00 );
v.invalidate();

按钮从屏幕消失了。我做错了什么?

提问于
用户回答回答于

你让你的按钮透明化了。

尝试 v.setBackgroundColor(0xFF00FF00);

用户回答回答于

当你调用setBackgoundColor时,它会覆盖/删除任何现有的背景资源,包括任何边框,填充等等。你想要做的是改变现有背景资源的颜色......

View v;
v.getBackground().setColorFilter(Color.parseColor("#00ff00"), PorterDuff.Mode.DARKEN);

试用PorterDuff.Mode。*以获得不同的效果。

扫码关注云+社区