자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey Float Animation(Position.X or Y) 동작 문의
2019.07.24 16:14
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
개발툴(Tool Version) : Rio
주요내용 : TFrame(Tedit 3개,SpinButton 2개,Button 2개,Image 1개) 동적 생성 후 FloatAnimation(Positon.Y) 적용시 버벅거리면서 올라오내요. 확인해 보니 이미지가 없는경우 혹은 Visible:=false 시 그나마 매끄럽게 (Positon.X or Y)올라가는데 ... 이미지를 넣을경우(Visible:=true) 상당히 버벅거리네요. FMX 프레임워크가 올래 그런지 아니면 제가 뭘 잘못하고 있는건지 조언 요청 드립니다. 다른폰에 배포 해도 동일하게 버벅거리는 현상이 보이네요. 간단하게 아래 소스 내용 입니다.
var t : TTestFrame;
ly : TLayout;
an : TFloatAnimation;
begin
an := TFloatAnimation.Create(self);
ly := TLayout.Create(self);
t := TTestFrame.Create(self);
fs := not fs;
{이미지 숨기고 적용시 조금 매끄럽고, 이미지 보일경우 이미지 보이는 지점마다 약간 버벅임이 느껴 지네요. 파이어몽키가 올래 매끄럽게 animation 아 잘 안되는지;?? 제가 뭘 잘못하고 있는건지??, 데모 소스 있으면 참고 요청 드립니다.}
t.Image1.Visible := fs;
t.Image2.Visible := fs;
t.Image3.Visible := fs;
t.Parent := ly;
t.Align := TAlignLayout.Client;
ly.Width := self.ClientWidth;
ly.Height := self.ClientHeight;
ly.Position.Y := ly.Height + 100;
ly.Position.X := 0;
ly.Parent := self;
an.Parent := ly;
an.PropertyName := 'Position.Y';
an.Duration := 0.3;
an.StartFromCurrent := true;
an.StopValue := 0;
an.OnFinish := t.FloatAnimation1Finish;
an.Start;
//ly.AnimateFloat('Position.Y',0,0.3);
}
Firemonkey Float Animation(Position.X or Y) 동작 문의
2019.07.24 16:14
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
개발툴(Tool Version) : Rio
주요내용 : TFrame(Tedit 3개,SpinButton 2개,Button 2개,Image 1개) 동적 생성 후 FloatAnimation(Positon.Y) 적용시 버벅거리면서 올라오내요. 확인해 보니 이미지가 없는경우 혹은 Visible:=false 시 그나마 매끄럽게 (Positon.X or Y)올라가는데 ... 이미지를 넣을경우(Visible:=true) 상당히 버벅거리네요. FMX 프레임워크가 올래 그런지 아니면 제가 뭘 잘못하고 있는건지 조언 요청 드립니다. 다른폰에 배포 해도 동일하게 버벅거리는 현상이 보이네요. 간단하게 아래 소스 내용 입니다.
var t : TTestFrame;
ly : TLayout;
an : TFloatAnimation;
begin
an := TFloatAnimation.Create(self);
ly := TLayout.Create(self);
t := TTestFrame.Create(self);
fs := not fs;
{이미지 숨기고 적용시 조금 매끄럽고, 이미지 보일경우 이미지 보이는 지점마다 약간 버벅임이 느껴 지네요. 파이어몽키가 올래 매끄럽게 animation 아 잘 안되는지;?? 제가 뭘 잘못하고 있는건지??, 데모 소스 있으면 참고 요청 드립니다.}
t.Image1.Visible := fs;
t.Image2.Visible := fs;
t.Image3.Visible := fs;
t.Parent := ly;
t.Align := TAlignLayout.Client;
ly.Width := self.ClientWidth;
ly.Height := self.ClientHeight;
ly.Position.Y := ly.Height + 100;
ly.Position.X := 0;
ly.Parent := self;
an.Parent := ly;
an.PropertyName := 'Position.Y';
an.Duration := 0.3;
an.StartFromCurrent := true;
an.StopValue := 0;
an.OnFinish := t.FloatAnimation1Finish;
an.Start;
//ly.AnimateFloat('Position.Y',0,0.3);
}
전반적인 순서와 소유주를 좀 수정하시어 해보십시오.
ly := TLayout.Create(self);
t := TTestFrame.Create(ly);
an := TFloatAnimation.Create(T);
ly.Width := self.ClientWidth;
ly.Height := self.ClientHeight;
ly.Position.Y := ly.Height + 100;
ly.Position.X := 0;
ly.Parent := self;
t.Parent := ly;
t.Align := TAlignLayout.Client;
아래 코드는 Layout에 야니매이션을 주시는 경우입니다. 만일 프레임에 애니메이션을 주고 싶으시면
an.Parent := t; 주셔야합니다.
an.Parent := ly;
an.PropertyName := 'Position.Y';
an.Duration := 0.3;
an.StartFromCurrent := true;
an.StopValue := 0;
an.OnFinish := t.FloatAnimation1Finish;
an.Start;
그리고 an,onfinish := t.Floatanimatioin1finish 왜 사용하셨는지요 ? parant의 animation이 종료되면 하위 클래스의 애니매이션도 종료됩니다.