更改圆形按钮android的背景颜色

时间:2014-09-11 19:06:03

标签: android button background-color

我在android中有一个按钮,我的形状是圆形的。我还有一个xml,它可以改变按下的背景颜色,但是在按下状态改变后颜色会恢复正常。

我对代码进行了以下更改

arg0.setBackgroundColor(getResources()的getColor(R.color.greenText));

但现在背景采用矩形而不是椭圆形。

1 个答案:

答案 0 :(得分:2)

好的,因为你说使用setBackgroundColor时背景形状发生了变化,我认为这就是你想要的,

1.您可能对此类滤色器感兴趣

Button btn = (Button) findViewById(R.id.button1);
btn.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));

根据您所需的颜色使用不同的值。如果您想知道颜色的常量值,可以参考the documents

2.您可以使用PorterDuff乘法模式以编程方式设置整个按钮的阴影。这将改变按钮颜色而不仅仅是色调。

例如,红色阴影按钮

btn.getBackground().setColorFilter(0xFFFF0000, PorterDuff.Mode.MULTIPLY);

绿色阴影按钮

btn.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);

依此类推。它实际上是通过将当前按钮颜色值乘以颜色值来实现的。

3.您还可以使用this Android Button Maker等在线工具自定义按钮,并在布局(标签内)中使用android:background="@drawable/custom_btn"来定义自定义按钮。

现在我相信有更多方法可以实现您想要的效果,但我认为这些是您可以使用的一些简单快速的修复方法。希望这会有所帮助。