Вы можете установить альфа на макет и его дочерние элементы (или любой другой вид, если на то пошло), используя AlphaAnimation с параметром 0 и параметром setFillAfter.
Пример:
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);
Вы можете использовать одну анимацию для нескольких компонентов, чтобы сохранить память. И перезагрузите(), чтобы снова использовать, или clearAnimation(), чтобы сбросить альфу.
Хотя он выглядит сырым и взломанным, на самом деле это хороший способ установить альфа на множество просмотров ov, что не занимает много памяти или процессорного времени.
Не уверен, что получил текущее значение альфа-канала.
Спасибо. Я использовал анимацию, но я устанавливал видимость объекта после завершения анимации вместо использования метода setFillAfter. –
Кажется, сломать анимацию (если запустить во время анимации). Любое исправление для этого? – Sufian
В качестве обходного пути я использовал полупрозрачное изображение, заданное как фон 'View'. – Sufian