最近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的不太經常使用可是比較好玩的東西。
本篇博客到此結束!謝謝你們閱讀!