С RAD Studio XE5, либо Delphi, либо C++ Builder, отображается форма fullScreen.
Поэтому, если нам нужно сделать какой-то эффект с переходом слайд, мы должны использовать TPanel для идеального исполнения:
Добавить TPanel, сделать его как Полный экран, и не использовать Align, чтобы сделать это , Нам нужно инициализировать положение и размер TPanel в методе FormCreate.
Создайте второй TPanel для формы, не позволяйте второй TPanel быть ребенком первого TPanel. Инициализируйте положение и размер второго TPanel, убедитесь, что он расположен в правой части экрана.
метод FormCreate:
procedure TFormMainView.FormCreate(Sender: TObject);
var
newLocation : TPosition;
begin
newLocation := self.btnLogin.Position;
newLocation.X := screen.Size.Width - self.btnLogin.Width - 5;
self.btnLogin.Position := newLocation;
self.PanelMainView.Position.X := 0;
self.PanelMainView.Position.Y := 0;
self.PanelMainView.Width := screen.Size.Width;
self.PanelMainView.Height := screen.Size.Height;
self.PanelLogin.Position.X := screen.Size.Width;
self.PanelLogin.Position.Y := 0;
self.PanelLogin.Width := screen.Size.Width;
self.PanelLogin.Height := screen.Size.Height;
end;
С Screen.Size, мы можем убедиться, что TPanel может соответствовать различному размеру устройства, скажем, Android телефонов. и установить кнопку на первой и второй точки зрения, для переключения слайдов анимации (кнопки на 1-й панели для переключения анимации скользить влево, и кнопку на 2 панели для переключения анимации скользить вправо.)
Назовите кнопку на первой панели как btnLogin, поэтому метод обработки события btnLoginClick: ВНИМАНИЕ: FloatAnimation1 для второй панели, FloatAnimation2 для 1-й панели, а «Имя свойства» обоих TFloatAnimation - «Position.X «это сделает анимацию на оси X:
procedure TFormMainView.btnLoginClick(Sender: TObject);
begin
self.FloatAnimation2.StartValue := 0;
self.FloatAnimation2.StopValue := -1 * screen.Size.Width;
self.FloatAnimation1.StartValue := screen.Size.Width;
self.FloatAnimation1.StopValue := 0;
self.FloatAnimation2.start;
self.FloatAnimation1.Start;
end;
кнопка 2 панели под названием» btnBacktoMainVi ew ", а обработчик события:
procedure TFormMainView.btnBackToMainScreenClick(Sender: TObject);
begin
self.FloatAnimation1.StartValue := self.PanelLogin.Position.X;
self.FloatAnimation1.StopValue := self.PanelLogin.Position.X + self.PanelLogin.Width;
self.FloatAnimation2.StartValue := self.PanelMainView.Position.X;
self.FloatAnimation2.StopValue := self.PanelMainView.Position.X + self.PanelMainView.Width;
self.FloatAnimation1.Start;
self.FloatAnimation2.Start;
end;
См.? что мы сделали, это установить «statValue», «StopValue» объекта анимации и вызвать метод start, Панельный слайд настолько велик.
Возможно, этот способ - не лучший способ сделать переход, но он работает и отлично работает. Я использовал аналогичный способ обработки нескольких видов в приложении Win32 за эти 10 лет, и эффект хороший.
Единственная разница в том, что я должен использовать TTimer и Application.ProcessMessage, чтобы убедиться, что анимация в Win32 работает. (Форма проекта, конечно).
И я протестировал этот путь в XE5 для iOS или Android и работал на любой платформе. Поделитесь с всем.
Это поможет получить код, в котором вы пытались и не удалось; Я думаю, что вы гораздо чаще получите ответ таким образом. Просто вставьте его в вопрос, но убедитесь, что вы обрезаете его до необходимого. – Johan
Упс! Пока я не увидел тег ios, я почти предположил, что менее известная, но очень универсальная анимация ** Библиотека VCL ** называется [AnyiQuack] [1];) [1]: http://sourceforge.net/projects/ accessquery/ –