Cómo configurar la opacidad (Alfa) para la vista en Android
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.
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 #RRGGBB
o #AARRGGBB
, donde AA
está el valor alfa hexadecimal. FF
sería completamente opaco y 00
serí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).
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).