自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Airbnb開源項目Lottie碉堡了

開發(fā) 開發(fā)工具
Airbnb 還提供了一個 sample apk,考慮到部分人在 Google Play 上下載 apk 有些困難,我也貼心的把 sample apk 下載下來了,公眾號 AndroidDeveloper 后臺回復「lottie」關(guān)鍵字獲取。

新年***天上班,沒想到就立春了,俗話說,一年之計在于春,全新的 17 年開始啦,來,收拾下心情,投入到工作中,擼起袖子,就是干!

就在前幾天,Airbnb 開源了一個項目叫做 Lottie,我個人覺得這個項目簡直碉堡了!

動畫相信大家都不陌生,在 App 開發(fā)過程中,適當?shù)氖褂脛赢嬁梢蕴嵘脩趔w驗,使我們的產(chǎn)品錦上添花,對于一些簡單的動畫,我們很容易就能實現(xiàn),但是對于一些比較復雜的動畫,實現(xiàn)起來就比較麻煩了,比如下圖的一些動畫:

怎么樣?這些可不是簡單的移動、縮放、旋轉(zhuǎn)就搞得定的,可能有些人思考了之后大概有以下實現(xiàn)思路:

  • 使用 Gif,這種方式當然可行,但是使用 Gif 占用空間較大,而且需要為各種屏幕尺寸、分辨率做適配,因為 Android 沒有提供原生 Gif 的 api 支持,所以這種方案還會遇到兼容性問題;
  • 使用幀動畫,這種方式還不如 Gif,一般來說使用幀動畫占用空間比 Gif 還要大的多,而且一樣要做多屏幕分辨率的適配,不過一般不會遇到兼容性問題;
  • 使用視頻,這種方式當然可以,但是一般來說宣傳片才用的上視頻,一般的動畫遠不需要用視頻才能實現(xiàn)的,未免有些大材小用了,而且占用空間依然很大。

就沒有更好的實現(xiàn)方式了么?

當然有,Android 5.x 之后提供了對 SVG 的支持,通過 VectorDrawable、AnimatedVectorDrawable 的結(jié)合可以實現(xiàn)一些稍微復雜的動畫,但是兼容性是一個問題,當然這個可以通過一些第三方庫來解決,不過整個實現(xiàn)流程非常麻煩,每次全新實現(xiàn)一個動畫都得重頭來過,最最關(guān)鍵的是,如果一個公司下的 App,iOS 也要實現(xiàn)一套一樣的動畫,資源的占用與開發(fā)成本就顯得過大了。

而 Airbnb 開源的這個項目***的解決以上難題,我們來看下整個流程是什么樣的。

假設(shè)我們要做一個引導頁面的歡迎動畫,這個一般設(shè)計師會用Adobe旗下的After Effects(簡稱AE)來做個動畫出來,設(shè)計師用AE做個動畫比工程師用代碼去實現(xiàn)一個動畫要快的多的多,調(diào)整起來也很方便,之后AE上有一款插件叫做Bodymovin(https://github.com/bodymovin/bodymovin),這個插件也比較屌,可以直接根據(jù)AE上的動畫文件導出json文件,這個json文件描述了該動畫的一些關(guān)鍵點的坐標以及運動軌跡,之后我們在項目中引用Lottie開源庫,在布局文件中簡單的加上這么一句就***的實現(xiàn)了。

或者代碼中這樣使用:

值得一提的是,我們的 hello-world.json 文件只需要放在 app/src/main/assets 目錄下就 ok 了。

當然,還有更多的用法,比如給動畫添加事件,比如描述動畫的 json 文件可以遠程更新下載到本地,這樣就可以不動聲色的定期更新你的動畫了。

有了這個庫,我們可以充分發(fā)揮我們的想象力,很簡單方便的就實現(xiàn)了一套很酷炫的動畫,最重要的是,這個庫是跨平臺的,支持 Android、iOS 以及 ReactNative,共用一套 json 動畫描述文件,簡直了!

其實Facebook前段時間開源了一個類似的庫叫做Keyframes(https://github.com/facebookincubator/Keyframes),也是跨平臺的,但是Lottie比Keyframes支持的特性更多,而且據(jù)Airbnb官方博客介紹,以后會讓這個庫支持更多的特性與功能,不得不說,真乃良心!

***,這個庫的開源地址在這里:

Android: https://github.com/airbnb/lottie-android

iOS: https://github.com/airbnb/lottie-ios

ReactNative: https://github.com/airbnb/lottie-react-native

最***,Airbnb 還提供了一個 sample apk,考慮到部分人在 Google Play 上下載 apk 有些困難,我也貼心的把 sample apk 下載下來了,公眾號 AndroidDeveloper 后臺回復「lottie」關(guān)鍵字獲取。

【本文為51CTO專欄作者“stormzhang”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者(微信公眾號:googdev)】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關(guān)推薦

2021-03-29 10:37:35

開源技術(shù) 開發(fā)

2017-12-15 11:09:05

設(shè)計師LottieAndroid

2017-12-15 14:20:24

AndroidAirbnbLottie

2021-01-26 10:59:52

開源技術(shù) 數(shù)據(jù)

2016-12-20 13:35:52

谷歌開源項目

2014-09-30 16:02:09

維盟路由公測

2017-12-01 19:02:33

Airbnb大數(shù)據(jù)平臺

2013-07-17 10:16:57

Github項目許可證

2012-10-23 09:56:26

AmazonEC2云計算

2022-10-21 08:17:06

開源項目閉源

2018-02-25 09:17:19

Google 開源項目

2013-07-31 09:20:07

大數(shù)據(jù)引擎云計算個性化搜索

2012-07-20 10:38:25

Entity FramEF

2020-05-19 10:13:45

Java開發(fā)代碼

2024-05-20 08:35:00

模型定理

2021-01-07 10:15:55

開發(fā) Java開源

2021-07-08 11:47:02

Saleor開源電子商務平臺

2012-08-17 13:49:37

小米2雷軍

2016-10-12 09:10:56

大數(shù)據(jù)Airbnb
點贊
收藏

51CTO技術(shù)棧公眾號