最近QQ影音久违的更新了,由于记得QQ影音以前体验还算不错(FFmepg的事另说),我也第一时间去官网下载体验了一下,结果发现一些有趣的事情。html
是的,你没看错,QQ影音主界面上这个动画效果是使用Lottie动画实现的!git
这让我大为惊奇,我对Lottie了解还算是比较多的,可是Lottie常见应用于移动端APP和网页,在传统桌面端见到仍是第一次。github
那就趁这个机会,来分享点关于Lottie动画的东西吧!json
Lottie是Airbnb开源的一个面向IOS、Android、React Native的动画库,它能够解析保存为json格式的由Bodymovin导出的使用AE制做的动画效果,并在移动端/Web端呈现它们!官方支援平台为IOS、Android和React Native,很遗憾,并不包含UWP平台。windows
可是,这并非说UWP平台没法使用Lottie动画了。Lottie动画在UWP平台上有两套很是棒的实现:缓存
我在开发中已经使用LottieUWP一段时间了,基本能够知足使用,而且我也向LottieUWP项目贡献过一点bugfix代码。现阶段我更推荐你们使用LottieUWP来实现相关需求。性能
长期的话,我更看好Lottie-Windows项目,毕竟微软官方团队维护,性能也更好,只不过你们须要给它一点时间,让它完善稳定下来,到时候系统版本要求应该也不是问题了😆。动画
这里我只介绍下如何在UWP中使用LottieUWP播放Lottie动画,以后等Lottie-Windows正式版发布我们再来说它。code
使用LottieUWP咱们须要在应用中引入LottieUWP Nuget包,支持的最低系统版本为10586。xml
直接在XAML文件使用LottieAnimationView
控件便可使用它播放Lottie动画。
<Page ... xmlns:lottieUwp="using:LottieUWP" ... /> <lottieUwp:LottieAnimationView FileName="Assets/Gears.json" RepeatCount="-1" AutoPlay="True" VerticalAlignment="Center" HorizontalAlignment="Center"/> </Page>
在LottieUWP中,Lottie动画的相关信息能够在LottieComposition
类中得到,咱们能够经过LottieAnimationView.Composition
属性,或者直接使用LottieCompositionFactory
中的静态方法获取LottieComposition
对象。
这篇博文仅是简单的介绍了在UWP应用中如何使用Lottie动画,更多介绍你们能够直接前往LottieUWP Github主页。
那么这就是所有了?固然不是,期待一下个人下篇博文《[UWP]缓存Lottie动画帧》,分享点有关于Lottie的不太经常使用可是比较好玩的东西。
本篇博客到此结束!谢谢你们阅读!