Puede establecer el alfa en el diseño y sus elementos secundarios (o cualquier otra vista para el caso) usando AlphaAnimation con 0 duración y la opción SetFillAfter.
Ejemplo:
AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F);
alpha.setDuration(0); // Make animation instant
alpha.setFillAfter(true); // Tell it to persist after the animation ends
// And then on your layout
yourLayout.startAnimation(alpha);
Puede utilizar una animación para múltiples componentes para ahorrar memoria. Y reinicie() para volver a usar, o borre la animación() para soltar alfa.
Aunque parece crudo y pirateado, en realidad es una buena manera de establecer alfa en un conjunto de vistas que no requiere mucha memoria o tiempo de procesador.
Sin embargo, no estoy seguro acerca de obtener el valor alfa actual.
Gracias. Estaba usando animación, pero estaba configurando la visibilidad del objeto una vez que se completó la animación en lugar de utilizar el método setFillAfter. –
Parece romper las animaciones (si se ejecuta durante la animación). ¿Alguna solución para esto? – Sufian
Como solución alternativa, utilicé una imagen semitransparente configurada como fondo de una 'Vista'. – Sufian