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

Как сделать слайдер с перелистыванием картинок?


Oxigenion

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

Здравствуйте господа! Не знал где создавать тему, думаю подходящее место ей здесь, извините если что-то не так. 

Начал работать в FM недавно, около недели назад.

Интересует вопрос, ответ на который я не нашёл.

Собственно, нужно в Image отображать две картинки, причем сначала первая картинка будет на весь масштаб Image и через какое-то время ее должна сменять вторая картинка видом плавная "прокрутка вверх" без участия пользователя (без нажатия клавиш и т.д. Просто через 2 сек. смена картинки видом скролл вверх)

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

Проверить сейчас нет возможности, но я бы для начала попробовал поместить оба изображения в родительский контрол TRectangle со свойством ClipChildren=true для обрезки дочерних изображений, выходящих за границы контрола. Одну картинку растянул по Rectangle, а вторую поместил ровно под ним (через Image2.Position.X:=0, Image2.Position.Y:=Rectangle.Height). Она должна быть полностью "обрезана" нижней границей Rectangle. Ну а дальше через FloatAnimation уменьшаем Image2.Position.Y с начального значения до нуля за нужное время с задержкой в пару секунд.

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

Проверить сейчас нет возможности, но я бы для начала попробовал поместить оба изображения в родительский контрол TRectangle со свойством ClipChildren=true для обрезки дочерних изображений, выходящих за границы контрола. Одну картинку растянул по Rectangle, а вторую поместил ровно под ним (через Image2.Position.X:=0, Image2.Position.Y:=Rectangle.Height). Она должна быть полностью "обрезана" нижней границей Rectangle. Ну а дальше через FloatAnimation уменьшаем Image2.Position.Y с начального значения до нуля за нужное время с задержкой в пару секунд.

В таком случае надо двигать и image1 по оси Y, иначе будет эффект наложения, а не прокрутки.

В данном варианте легче сделать одно изображение выходящее по середине за нижнюю рамку родительского контрола.

 

Есть вариант так же сделать через TListBox, создав 2 элемента списка с картинками и прокручивать его.

 

 TBitMapAnimation отлично справляется превращая набор картинок в gif изображение. Но там, насколько я помню, нет переходов между картинками.

 

Возможно вы найдете нужным переход среди эффектов ( *TransitionEffect ).

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

На сколько я понял, вы хотите сделать слайдер. Два года назад я писал две статьи о двух способах создания такого слайдера.

Более того, раньше был рабочий пример, наглядно демонстрирующий это.

 

Посмотрите, эти статьи, я думаю они помогут вам. 

 

Пример реализации слайдера MetropolisUIFlipViewDemo.zip

Этот пример убрали из поставки среды начиная с XE6

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

Читал ваши статьи, а вот время определенное задавать по таймеру я так понял придется? WIN8 со своими анимированными плитками думаю не по таймеру работает :D

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

А как вы полагаете Windows 8 перелистывает изображения?

 

Просто через 2 сек. смена картинки видом скролл вверх)

Ну и это не говорит о том, что это таймер? 

 

Или я не очень понял, о чем вы.

Изменено пользователем Brovin Yaroslav
Ссылка на комментарий
  • 2 года спустя...
В 03.12.2014 в 12:06, Brovin Yaroslav сказал:

На сколько я понял, вы хотите сделать слайдер. Два года назад я писал две статьи о двух способах создания такого слайдера.

статьи уже отсутствуют

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...