È possibile impostare l'alfa sul layout ed è figlio (o qualsiasi altra vista per quella materia) utilizzando l'opzione AlphaAnimation con durata 0 e setFillAfter.
Esempio:
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);
È possibile utilizzare uno di animazione per più componenti per risparmiare memoria. E resettare() per usare nuovamente, o clearAnimation() per eliminare alpha.
Anche se sembra rozzo e hackerato, in realtà è un buon modo per impostare alpha su set ov viste che non richiede molta memoria o tempo di processore.
Non sono sicuro di ottenere comunque il valore alfa corrente.
fonte
2011-01-27 09:33:19
Grazie. Stavo usando l'animazione, ma stavo impostando la visibilità dell'oggetto per passare una volta completata l'animazione invece di usare il metodo setFillAfter. –
Sembra interrompere le animazioni (se eseguito durante l'animazione). Qualche correzione per questo? – Sufian
Come soluzione alternativa, ho utilizzato un set di immagini semitrasparenti come sfondo di un 'View'. – Sufian