firemonkey中的另一个错误:动画

时间:2015-11-30 13:52:39

标签: android delphi animation

我想知道你们中是否有人曾经解决过这些问题?

问题很简单: 有许多帧在运行时创建它们。但是当我在这上面使用动画时,口吃或跳过整个动画。

这只发生在所有经过测试的Android移动设备和第一个动画请求上!

对于使用该应用程序的用户而言,这不是一件好事,也不知道该应用程序太重或编程不当。

简单代码:

procedure TForm1.ButtonClick(Sender: TObject);
var
  MyFrame: TMyFrame;
begin
  MyFrame := TMyFrame.Create( Form1 )
  MyFrame.Parent := Form1;
  MyFrame.PrepareForPaint; // nothing changes       
  MyFrame.Position.X := Form1.Width;
  MyFrame.BringToFront;
  TAnimator.AnimateFloat( MyFrame, 'Position.X', 0 );
end;

更新

我希望有一些迹象可以找到一个解决方案。

问题不在于动画,而在于asyncrone的指令。

procedure TForm1.ButtonClick(Sender: TObject);
var
  MyFrame: TMyFrame;
begin
  MyFrame := TMyFrame.Create( Form1 )
  MyFrame.Parent := Form1;
  MyFrame.PrepareForPaint; // nothing changes       
  MyFrame.Position.X := Form1.Width;
  MyFrame.BringToFront; 

< - 在此指令之后,帧实际上尚未完全创建。我可以验证它的可见属性是否为false,并且在某些情况下它没有被称为事件ApplyStyleLookup

  TAnimator.AnimateFloat( MyFrame, 'Position.X', 0 );

< - 此时动画开始,同时,通过产生令人不愉快的视觉效果并偶尔重新创建框架来创建框架

end;

我试图了解框架何时完全创建,但没有成功。

0 个答案:

没有答案