QML 动画(组合动画)
创始人
2024-05-29 23:24:15
0

在QML中,可以把多个动画组合成一个单一的动画。

组合动画的类型:

  • ParallelAnimation   动画同时进行(并行)
  • SequentialAnimation 动画按照顺序执行(顺序执行)

注意:将动画分组为“顺序动画”或“并行动画”后,无法单独启动和停止动画;顺序动画或并行动画必须作为一个组启动和停止。

ParallelAnimation的使用:

 使用时需要使用running开启

开启时,变换圆角、颜色和旋转角度 

Rectangle{id:rect1width: 200;height: 200x:150;y:150color: "lightBlue";radius: 10//创建一个并行的动画ParallelAnimation{running: true //开启并行动画NumberAnimation {  //修改圆角动画target: rect1properties: "radius"loops: Animation.Infiniteduration:2000from: 10to:50}ColorAnimation {  //修改颜色动画target: rect1properties: "color"loops: Animation.Infiniteduration:2000from:"lightBlue"to:"red"}RotationAnimation {  //修改角度动画target: rect1//properties: "rect1.rotation"loops: Animation.Infiniteduration:2000from:0to:360}}}

 SequentialAnimation的使用

 需要使用running开启

 开启时每过两秒变换一种颜色

Rectangle{id:rect1width: 200;height: 200x:150;y:150color: "lightBlue";radius: 10SequentialAnimation{running: trueColorAnimation{target: rect1properties: "color"from: "white"to: "black"duration: 2000}ColorAnimation{target: rect1properties: "color"from: "black"to: "red"duration: 2000}ColorAnimation{target: rect1properties: "color"from: "red"to: "green"duration: 2000}ColorAnimation{target: rect1properties: "color"from: "green"to: "lightBlue"duration: 2000}}}

SequentialAnimation和渐变的使用

实现使用彩色动画将天空从白天淡化到黑夜

Rectangle{id:rect1width: 400;height: 600x:150;y:0color: "lightBlue";radius: 10gradient: Gradient {GradientStop {position: 0.0SequentialAnimation on color {loops: Animation.InfiniteColorAnimation { from: "#14148c"; to: "#0E1533"; duration: 5000 }ColorAnimation { from: "#0E1533"; to: "#14148c"; duration: 5000 }}}GradientStop {position: 1.0SequentialAnimation on color {loops: Animation.InfiniteColorAnimation { from: "#14aaff"; to: "#437284"; duration: 5000 }ColorAnimation { from: "#437284"; to: "#14aaff"; duration: 5000 }}}}}

相关内容

热门资讯

中证A500ETF摩根(560... 8月22日,截止午间收盘,中证A500ETF摩根(560530)涨1.19%,报1.106元,成交额...
A500ETF易方达(1593... 8月22日,截止午间收盘,A500ETF易方达(159361)涨1.28%,报1.104元,成交额1...
何小鹏斥资约2.5亿港元增持小... 每经记者|孙磊    每经编辑|裴健如 8月21日晚间,小鹏汽车发布公告称,公司联...
中证500ETF基金(1593... 8月22日,截止午间收盘,中证500ETF基金(159337)涨0.94%,报1.509元,成交额2...
中证A500ETF华安(159... 8月22日,截止午间收盘,中证A500ETF华安(159359)涨1.15%,报1.139元,成交额...
科创AIETF(588790)... 8月22日,截止午间收盘,科创AIETF(588790)涨4.83%,报0.760元,成交额6.98...
创业板50ETF嘉实(1593... 8月22日,截止午间收盘,创业板50ETF嘉实(159373)涨2.61%,报1.296元,成交额1...
港股异动丨航空股大幅走低 中国... 港股航空股大幅下跌,其中,中国国航跌近7%表现最弱,中国东方航空跌近5%,中国南方航空跌超3%,美兰...
电网设备ETF(159326)... 8月22日,截止午间收盘,电网设备ETF(159326)跌0.25%,报1.198元,成交额409....
红利ETF国企(530880)... 8月22日,截止午间收盘,红利ETF国企(530880)跌0.67%,报1.034元,成交额29.0...