2015-08-08 2 views
1

Как видно из названия, если изменить альфа с помощью ImageView анимации, то я не могу установить назад setAlpha:SetAlpha не восстанавливает значение альфа после анимации

ImageView myImage = (ImageView) findViewById(R.id.my_image); 

myImage.animate().alpha(0).withEndAction(new Runnable() { 
    public void run() { 
     myImage.setAlpha(100); 
    } 
}); 

Анимация нормально, но после этого альфа myImage не установлен на setAlpha, это всегда ноль. Зачем?

+0

@MHP нет, независимо от стоимости, не работает. –

ответ

0

Из документации Android:

ImageView.setAlpha (INT): Этот метод не рекомендуется в уровне API 16. Использование setImageAlpha (INT) вместо этого.

Я подозреваю, что вы на самом деле вызываете унаследованный метод View.setAlpha(float), который принимает значение от 0 до 1. Установка его на 100 не является допустимым значением.

Используйте либо setAlpha(1.0), либо, возможно, смените способ на setImageAlpha(100).

+1

Нет, оба решения не работают. Кажется, что только одна анимация использует 0 раз: ImageView.animate(). Alpha (1) .setDuration (0) ' –

Смежные вопросы