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

Анимация масштабирования


Вячеслав

Вопрос

Добрый день! Хочу заанимировать Lable таким образом, чтобы параметр Scale.X линейно увеличивался. Но при этом необходимо, чтобы центр компонента оставался на своем месте. А параметр Scale.X за начало отсчета принимает верхний левый угол лейбла. Есть ли возможность изменить центр масштабирования компонента? Я данную задачу уже решил путем добавления анимации смещения влево, но этот способ мне кажется топорным и неоптимальным.

Ссылка на комментарий

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

  • 0

Вы должны установить у TLable свойство Align = Center

 

Если TLable находится на каком-то другом компоненте и должен как-то выравниваться, то поместите на родительский компонент новый TLayout с нужным Вам выравниванием, переместите на него Ваш TLable, установите нужные начальные размеры для TLable, и установите Align = Center.

Только у TLayout свойство ClipChildren должно быть = False (чтобы при масштабировании не обрезалось TLable)

Изменено пользователем AlexG
Ссылка на комментарий
  • 0

Решение оказалось довольно простым. Кидаем на форму Layout, в него устанавливаем Lable и позиционирует таким образом, чтобы центр Lable находился в том же месте, что и верхний левый угол Layout. Сделать это нетрудно как в Design Time, так и в Run Time. После этого масштабируем Layout, что приведет к автоматическому масштабированию Lable относительно его центра.

Думаю, на этом тему стоит закрыть.

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