2012-11-29 49 views
1

我的一项活动中有一组按钮。按钮看起来很好,因为它们来自Android系统(灰色),因为我的活动背景是灰色的。我试过以下如何更改标准系统按钮的背景透明度

button.setBackgroundColor(Color.argb(125, 200, 200, 200)); 

它创建所需的透明度,但我失去的按钮状态等按压,高达等

我怎能与Android的船只能降低不透明度按钮的状态?

回答

2

在你的类,使用下面的代码:

alpha = new AlphaAnimation(0.3F, 0.3F); //Set opacity - Range 0.0 to 1.0 
alpha.setDuration(0); // Set animation duration 
alpha.setFillAfter(true); // Maintaining the effect to the button 
yourButton.startAnimation(alpha); 

我希望我帮助。

再见!

+0

@Tanyna Bonaldo是的,你做了帮助,真棒伙伴,只是我想要的感谢;) – turtleboy

0

在XML用于期望的按钮,则应该仅仅是能够把:

机器人:背景=:

我用这个没有默认显示可拉伸“@机器人彩色/透明”灰色背景。

-cheers

+0

警告这将放弃所有的背景...有甚至不会是因为大纲整个按钮图像实际上是在后台 – edofic

0

动态方式:

Button.getBackground(),如果你设置一个位图作为背景,或ColorDrawable如果你设置的颜色作为背景,通常它会返回一个BitmapDrawable。

ColorDrawable colorDrawable =(ColorDrawable)button.getBackground();
colorDrawable.setAlpha(125);

这将工作正常。

静态方式:
布局 ,设置背景颜色一样#7EC8C8C8

+0

嗨,它确实有效,但它是使用动画更改不透明度的最佳方式?我认为如果你改变可绘制背景的Alpha通道会更好。 – qiuping345