Cómo configurar la opacidad (Alfa) para la vista en Android

Resuelto ncakmak asked hace 54 años • 13 respuestas

Tengo un botón como el siguiente:

<Button 
     android:text="Submit" 
     android:id="@+id/Button01" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content">
</Button>

En mi onCreate()caso, llamo a Button01 así:

setContentView(R.layout.main);

View Button01 = this.findViewById(R.id.Button01);
Button01.setOnClickListener(this);

Hay un fondo en la aplicación y quiero establecer una opacidad en este botón de enviar. ¿Cómo puedo establecer una opacidad para esta vista? ¿Es algo que puedo configurar en el lado de Java o puedo configurar en el archivo main.xml?

En el lado de Java lo intenté Button01.mutate().SetAlpha(100), pero me dio un error.

ncakmak avatar Jan 01 '70 08:01 ncakmak
Aceptado

Me sorprenden las respuestas MUCHO más complicadas de los demás.

XML

Puedes definir muy simplemente el alfa en la definición de color del botón (o cualquier otra vista) en tu xml:

android:color="#66FF0000"    // Partially transparent red

En el ejemplo anterior, el color sería un rojo parcialmente transparente.

Al definir el color de una vista, el formato puede ser #RRGGBBo #AARRGGBB, donde AAestá el valor alfa hexadecimal. FFsería completamente opaco y 00sería completamente transparente.

Dinamicamente

Si necesita alterar dinámicamente la opacidad en su código, use

myButton.getBackground().setAlpha(128);  // 50% transparent

Donde el INT varía de 0(totalmente transparente) a 255(totalmente opaco).

Jake Wilson avatar Oct 07 '2011 15:10 Jake Wilson

Supongo que ya habrás encontrado la respuesta, pero si no (y para otros desarrolladores), puedes hacerlo así:

btnMybutton.getBackground().setAlpha(45);

Aquí configuré la opacidad en 45. Básicamente, puedes configurarla entre 0 (completamente transparente) y 255 (completamente opaco).

abhi avatar Mar 01 '2011 11:03 abhi