Brovin Yaroslav

TfgFlipView Описание TfgFlipView - слайдер изображений

11 сообщений в этой теме

Описание:

  • Назначение: Компонент - слайдер, предназначенный для отображения по очереди картинок из набора
  • Поддерживаемые платформы: Windows, OSX, iOS, Android
  • Демо проект: Samples\FlipViewDemo\FlipViewDemo.dproj
  • Доступен с версии: XE8

Возможности:

  1. Два принципиально отличающихся способа смены изображения: Эффекты (21 эффект) и сдвиги (горизонтальный и вертикальный)- Mode.
  2. Доступно редактирование скорости смены изображений (SlideOptions.Duration) и направления (SlideOptions.Direction) для режима смены изображения путем сдвига.
  3. Доступно редактирование скорости смены изображений (EffectOptions.Duration) и эффекта (EffectOptions.Kind) для режима смены изображения при помощи эффектов.
  4. Контролирование начала и окончания процесса смены изображений: OnStartChangingOnFinishChanging
  5. Доступен режим Слайдшоу, когда изображения меняются с интервалом (SlideShowOptions.Duration)
  6. Для эффектов возможно выбора случайного эффекта на каждый слайд 
  7. Пролистывание изображений жестом - pan (swype)
  8. Отлавливание момент нажатия на слайд OnImageClick
  9. Управление видимостью кнопок смены слайдов ShowNavigationButtons

post-1-0-93012800-1423921520_thumb.png

post-1-0-04067300-1423921522_thumb.png

post-1-0-58613800-1423921558_thumb.png

egeven, Andrey Efimov и Kitty понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Шикарная тема. Когда можно будет затестить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Шикарная тема. Когда можно будет затестить?

 

После выхода XE8, в новой версии компонентов FGX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как динамически добавлять картинки в этот компонент?

На андроиде не работает?

Не могу запустить проект на android'e пустой экран

 

 

Чтобы заработало на Android нужно стиль грузить в ресурсы...

 

Ярослав, Вынесите в след. версии два метода в public (нижний)

    procedure GoToNext(const Animate: Boolean = True);
    procedure GoToPrevious(const Animate: Boolean = True);

чтобы можно было реализовать переключение картинок жестами

 

ещё вот эти не помешают

    function IsFirstImage: Boolean;
    function IsLastImage: Boolean;

Вот еще может реализуете такую штуку, в режиме слайда и ImagesCount = 1 чтобы не переключались картинки

procedure TfgFlipViewSlidingPresentation.ShowNextImage(const ANewItemIndex: Integer; const ADirection: TfgDirection; const AAnimate: Boolean);
begin
  AssertIsNotNil(Model);

  inherited;
  if (csDesigning in ComponentState) or not AAnimate then
  begin
    if ImageContainer <> nil then
      ImageContainer.Bitmap.Assign(Model.CurrentImage);
    Model.FinishChanging;
  end
  else
  begin
    if Model.ImagesCount = 1 then
    begin
      exit;
    end;

    if (FNextImageContainer <> nil) and (FNextImageAnimator <> nil) and (FImageAnimator <> nil) then
    begin
      FNextImageContainer.Bitmap.Assign(Model.CurrentImage);
      InitAnimatorParams(ADirection);
      FImageAnimator.Start;
      FNextImageContainer.Visible := True;
      FNextImageAnimator.Start;
    end;
  end;
end;
Изменено пользователем ZuBy
Pax Beach понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не вопрос. Спасибо за предложения. Добавлю в следующей версии.

Только не очень понял на счет вынести в паблик. О каком классе именно идет речь?

 

IsFirstImage и IsLastImage тоже в паблике у модели уже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не вопрос. Спасибо за предложения. Добавлю в следующей версии.

Только не очень понял на счет вынести в паблик. О каком классе именно идет речь?

 

IsFirstImage и IsLastImage тоже в паблике у модели уже.

из модели в основной в класс, для большего удобства

 

это для GoToNext, GoToPrevious

У Вас два public

TfgCustomFlipView = class(TPresentedControl, IfgFlipViewNotifications)
... 
public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    function CanSlideShow: Boolean;
    { Manipulation }
    procedure GoToImage(const AImageIndex: Integer; const ADirection: TfgDirection = TfgDirection.Forward;
      const Animate: Boolean = True);
    property Model: TfgFlipViewModel read GetModel;
  public
    // тут видет это методы
    procedure GoToNext(const Animate: Boolean = True);
    procedure GoToPrevious(const Animate: Boolean = True);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А в чем смысл переноса двух методов из паблика в паблик?

в том что они не доступны были пока не перенес ниже :ph34r:

zairkz понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А есть возможность как нибудь реализовать жестами частичную смену картинок (речь про слайды а не про эффекты), например, опустили палец и перемещаем палец вправо, а за пальцем тянется картинка, т.е. при движении пальца вправо текущая картинка уходит вправо за экран, а следующая появляется слева, также выходит из-за экрана, и если пользователь отпустил палец то она уже сама доканца сменилась (по стандартной схеме).

Т.е. надо разделить эффект когда у нас жест слева на право, от процесса когда мы просто пальцем пытаемся посмотеть что там дальше за картинкой находится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 22.09.2016 в 18:58, FeLDMARShaL сказал:

А есть возможность как нибудь реализовать жестами частичную смену картинок (речь про слайды а не про эффекты), например, опустили палец и перемещаем палец вправо, а за пальцем тянется картинка, т.е. при движении пальца вправо текущая картинка уходит вправо за экран, а следующая появляется слева, также выходит из-за экрана, и если пользователь отпустил палец то она уже сама доканца сменилась (по стандартной схеме).

Т.е. надо разделить эффект когда у нас жест слева на право, от процесса когда мы просто пальцем пытаемся посмотеть что там дальше за картинкой находится.

Пока нет. Но я сам подумываю добавить такой эффект.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 07.12.2016 в 20:31, Brovin Yaroslav сказал:

Но я сам подумываю добавить такой эффект.

былобы просто шикарно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу