Cómo setAlpha para android Botón

Tengo tres botones, el compartir la misma imagen de fondo, quiero deshabilitar el botón de uno de ellos mediante el uso de Alfa.

Pero cuando la estoy usando el siguiente código:

 button1.getBackground().setAlpha(45);

es cambiar el fondo de todos los tres botones. pero necesito a una sola.
se puede hacer mediante el uso de Alfa()?? o algunas otras cosas que podemos utilizar para que el botón se ve en modo deshabilitado.

Sólo para comprobar,está seguro de que cada botón tiene un ID diferente?
Hola Lumis, gracias por la respuesta, he comprobado, cada botón tiene su identificador único.
u puede publicar u r código..
Resulta muy interesante que uno puede alterar el fondo de todos los botones de esta manera, gracias por publicar este problema.

OriginalEl autor Himanshu | 2011-12-27

4 respuestas

  1. 20

    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);
    Esto no funciona cuando el usuario ha desactivado las animaciones en el dispositivo.

    OriginalEl autor

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

    o

    nextBtn.setAlpha(0.5f); 
    Nota, nextBtn.setAlpha(0.5 f); setAlpha(int) ha sido de alrededor desde la API de nivel 1, pero está en desuso desde el nivel 16. setAlpha(float) continúa trabajando. Considere esto: stackoverflow.com/questions/21831775/…

    OriginalEl autor

  3. 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);  
    }
    d.setAlpha(60); requiere nivel de API 11+

    OriginalEl autor

  4. 0

    En mi caso me puse un botón para alfa 75. Pero todos los botones con el mismo color de fondo también se ha cambiado a alfa 75. Llamar mutate() resuelto el problema.

    Pavel Dudka’ respuesta funciona perfectamente para mi caso.

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

    OriginalEl autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *