2011-12-27 19 views
7

Tengo tres botones, compartiendo la misma imagen de fondo, quiero desactivar el botón uno de ellos usando Alpha.Cómo configurarAlpha to android Button

Pero cuando estoy usando el siguiente código:

button1.getBackground().setAlpha(45); 

Está cambiando el fondo de los tres botones. pero necesito solo uno. podemos hacer mediante el uso de Alpha() ?? o algunas otras cosas que podemos usar para que el botón se vea en modo deshabilitado.

+0

sólo para comprobar, ¿está seguro de que cada botón tiene una ID diferente? – Lumis

+0

Hola Lumis, gracias por responder, lo he comprobado, cada botón tiene su identificación única. – Himanshu

+0

puede usted publicar su código ... –

Respuesta

19

Puede establecer alfa utilizando AlphaAnimation a cualquier vista

Código de ejemplo

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

Esto no funciona cuando el usuario ha desactivado las animaciones en el dispositivo. – Denny

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); 
} 
+0

'd.setAlpha (60);' requiere el nivel de API 11+ – astuter

4
nextBtn.getBackground().setAlpha(100); 

o

nextBtn.setAlpha(0.5f); 
+0

Nota, nextBtn.setAlpha (0.5f); setAlpha (int) ha estado presente desde API nivel 1, pero está en desuso desde el nivel 16. setAlpha (float) continúa funcionando. Considere esto: http://stackoverflow.com/questions/21831775/difference-between-setalpha-and-setimagealpha – Brian