Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Отклонение] При использовании AutoReverse не восстанавливается значение свойства Inverse


NesDmitrijj

Вопрос

Здравствуйте!

 

Как можно реализовать простой эффект плавного исчезновения текста (TLabel) с последующим его плавным появлением без глюков?

Пример:

  1. Кидаю на форму Label
  2. Создаю FloatAnimation для свойства Opacity
  3. У FloatAnimation делаю StartValue = 1, StopValue = 0
  4. Кидаю на форму кнопку и в OnClick пишу: FloatAnimation1.Start;
    Результат: При нажатии кнопки текст плавно исчезает и по завершению анимации текста не видно.
  5. У FloatAnimation делаю AutoReverse = true;

Результат: При нажатии кнопки текст плавно исчезает, а затем плавно появляется. По завершению анимации текст виден. Но при повторном нажатии всё начинает глючить.

 

Вопрос: как исправить?

Изменено пользователем Brovin Yaroslav
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Такое ощущение, что это баг в FloatAnimation. Он не восстанавливает свойство Inverse в первоначальное состояние.

Если кинуть на форму вторую кнопку и в OnClick прописать FloatAnimation1.Inverse:=false; и нажимать её после завершения анимации, то повторный запуск анимации проходит без глюков. Замечу что в XE5 такого глюка небыло.

Ссылка на комментарий
  • 0
  • Модераторы

Тоже заметил подобное поведение.

Решение: прописать строку "FloatAnimation1.Inverse := false;" в OnFinish анимации 

Правильное решение ниже, дал Ярослав.

Ссылка на комментарий
  • 0
  • Администраторы

Исправлено в XE10.

 

Workaround для версий до XE8 (включительно)

Перед вызовом анимации сбросить Inverse в False.

Это косвенно обсуждалось в теме: Как сделать эффект вспышки для контрола, когда он подсвечивается на короткий диапазон времени?

Изменено пользователем Brovin Yaroslav
Добавлена информация для XE10
Ссылка на комментарий
  • 0

Вообще-то, о том, что нужно каждый раз сбрасывать Inverse в False, я написал во втором посте. Проблема в том, что это очевидный баг. Раньше такого небыло.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...