【发布时间】:2012-12-12 14:59:21
【问题描述】:
我想知道如何以编程方式设置按钮颜色? 我编写了以下代码但失败了:
Button11.setBackgroundColor(R.color.red);
谢谢!!
【问题讨论】:
-
你想得到什么效果?没有附加效果的纯红色矩形?如果不是,您将需要某种可绘制来实现您的目标,无论是 png(9patch)还是在 xml 中定义的东西。系统没有内置方法来制作一个看起来像普通按钮但颜色不同的按钮。您必须提供自己的资源,除非您只是在寻找一个普通的单色矩形。
-
实际上我正在做的是从 12 个按钮的表格中,程序会随机选择其中的 6 个来填充定义的文本。我希望这 6 个按钮变成另一种不同的颜色。在这方面,它不能在 xml 部分中完成,而只能以编程方式完成。我已经定义了一些xml(第一个未选中的是纯绿色圆形,如果选中我希望它变成纯红色圆形)如果这样,可以做到吗?
-
是的,但是您要么需要像 9patch png 这样的红色按钮图像,要么需要在 xml 中定义红色按钮形状。如果您只是将背景颜色更改为红色,您最终会得到一个纯红色的矩形,而不是看起来像普通按钮的东西。
-
是的,你是对的,我已经修改了它,它给出了一个纯红色的矩形,甚至无法按下!我已经单独定义了red_button_xml,怎么能合并到Activity中呢?非常感谢!
-
你会想要
Button.setBackgroundResource()而不是setBackgroundColor()