代码之家  ›  专栏  ›  技术社区  ›  cibercitizen1

在Android中更改背景色会破坏小部件的外观吗?

  •  7
  • cibercitizen1  · 技术社区  · 14 年前

    我注意到了改变Android小部件的背景色( 例如按钮或文本视图 ):

    myButton.setBackgroundColor(Color.BLUE);
    

    使其松开其三维形状、边框和阴影效果,然后看起来像一个丑陋的平面正方形。我错过了什么?

    很抱歉这个问题很幼稚,尽管我试了一段时间,但还是没能弄好。

    3 回复  |  直到 8 年前
        1
  •  2
  •   Cheryl Simon    14 年前

    圆角、阴影效果等通常在Android中通过使用图像来实现。看到这个 developer documentation 为了解释这是如何工作的。

    小部件可以有图像背景,也可以有纯色背景。因此,通过设置背景颜色,可以覆盖背景图像。如果要在不丢失其他所有内容的情况下更改颜色,则需要编辑图像文件。

        3
  •  0
  •   Alvin    8 年前

    由于背景是可绘制的,您可以修改可绘制的以更改颜色:

    myButton.getBackground().setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);