【发布时间】:2011-02-22 23:44:24
【问题描述】:
我注意到通过程序更改 android 小部件(例如 Button 或 TextView)的背景颜色:
myButton.setBackgroundColor(Color.BLUE);
使它失去其 3D 形状、边框和阴影效果,然后看起来像一个丑陋的平面正方形。我错过了什么?
很抱歉这个非常幼稚的问题,但我试了一段时间还是没弄好。
【问题讨论】:
标签: android widget background-color
我注意到通过程序更改 android 小部件(例如 Button 或 TextView)的背景颜色:
myButton.setBackgroundColor(Color.BLUE);
使它失去其 3D 形状、边框和阴影效果,然后看起来像一个丑陋的平面正方形。我错过了什么?
很抱歉这个非常幼稚的问题,但我试了一段时间还是没弄好。
【问题讨论】:
标签: android widget background-color
圆角、阴影效果等通常在 Android 中通过使用图像来完成。请参阅此developer documentation,了解其工作原理。
小部件可以具有图像背景或纯色背景。因此,通过设置背景颜色,您将覆盖背景图像。如果您想更改颜色而不丢失其他所有内容,则需要编辑图像文件。
【讨论】:
由于背景是drawable,你可以修改drawable来改变颜色:
myButton.getBackground().setColorFilter(Color.BLUE, PorterDuff.Mode.SRC_ATOP);
【讨论】: