如何将Alpha设置为Android按钮

时间:2011-12-27 10:09:53

标签: android

我有三个按钮,共享相同的背景图像,我想通过使用Alpha来禁用其中一个按钮。

但是当我使用以下代码时:

 button1.getBackground().setAlpha(45);

它正在改变所有三个按钮的背景。但我只需要一个。 我们可以通过Alpha()使用吗?或者我们可以使用的其他一些东西,以便按钮看起来处于禁用模式。

4 个答案:

答案 0 :(得分:20)

您可以使用AlphaAnimation将Alpha设置为任意视图

示例代码

Button btn = (Button) findViewById(R.id.button);  
float alpha = 0.45f;
AlphaAnimation alphaUp = new AlphaAnimation(alpha, alpha);
alphaUp.setFillAfter(true);
btn.startAnimation(alphaUp);

答案 1 :(得分:4)

nextBtn.getBackground().setAlpha(100);

nextBtn.setAlpha(0.5f); 

答案 2 :(得分:1)

Button btn;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.main);  
    btn = (Button) findViewById(R.id.main_btn);  
    Drawable d = getResources().getDrawable(R.drawable.imagen);  
    d.setAlpha(60);  
    btn.setBackgroundDrawable(d);  
}

答案 3 :(得分:0)

在我的情况下,我将一个按钮设置为alpha75。但所有其他具有相同背景色的按钮也都更改为alpha75。调用mutate()解决了此问题。

Pavel Dudka'answer非常适合我的情况。

buttonArrivals.getBackground().mutate().setAlpha(180);
buttonDepartures.getBackground().mutate().setAlpha(255);