新年第一天上班,沒想到就立春了,俗話說,一年之計在於春,全新的 17 年開始啦,來,收拾下心情,投入到工作中,擼起袖子,就是幹!
就在前幾天,airbnb 開源了乙個專案叫做 lottie,我個人覺得這個專案簡直碉堡了!
怎麼樣?這些可不是簡單的移動、縮放、旋轉就搞得定的,可能有些人思考了之後大概有以下實現思路:
就沒有更好的實現方式了麼?
而 airbnb 開源的這個專案完美的解決以上難題,我們來看下整個流程是什麼樣的。
假設我們要做乙個引導頁面的歡迎動畫,這個一般設計師會用 adobe 旗下的 after effects (簡稱 ae)來做個動畫出來,設計師用 ae 做個動畫比工程師用**去實現乙個動畫要快的多的多,調整起來也很方便,之後 ae 上有一款外掛程式叫做 bodymovin,這個外掛程式也比較屌,可以直接根據 ae 上的動畫檔案匯出 json 檔案,這個 json 檔案描述了該動畫的一些關鍵點的座標以及運動軌跡,之後我們在專案中引用 lottie 開源庫,在布局檔案中簡單的加上這麼一句就完美的實現了。
android:id="@+id/animation_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
或者**中這樣使用:
lottieanimationview animationview = findviewbyid(r.id.animation_view);有了這個庫,我們可以充分發揮我們的想象力,很簡單方便的就實現了一套很酷炫的動畫,最重要的是,這個庫是跨平台的,支援 android、ios 以及 reactnative,共用一套 json 動畫描述檔案。animationview.setanimation("hello-world.json");
animationview.loop(true);
其實 facebook 前段時間開源了乙個類似的庫叫做 keyframes,也是跨平台的,但是 littie 比 keyframes 支援的特性更多,而且據 airbnb 官方部落格介紹,以後對讓這個庫支援更多的特性與功能,不得不說,真乃良心!
android:
ios:
reactnative:
首頁動畫的優化方案
以上是其中乙個tab的動畫資源。接著定義了公用的動畫啟動和關閉的方法 在首頁的activity的oncreate 呼叫了一下startanim ondestory 呼叫stopanim 大功告成!就去提交 了。然而,當我把android profiler開啟觀測一下cpu,問題就出現了。不管是否在首...
專案上線方案
一.小型專案上線 1.開發人員在個人電腦上搭建lamp環境測試開發好的 並且在辦公室或是idc機房的測試環境上通過,保證 的測試完全通過,保證專案的正確執行。2.上線最根本的原則就是對於使用者的使用體驗影響最小。不要直接上傳到伺服器中,而是先把 上傳到同個磁碟,使用mv命令,把上傳的 放入伺服器中。...
專案優化方案
專案的優化有很多種,有前端頁面的優化,有後端 及資料庫的優化,還有更深一層系統的優化。首先我們先想一想,為什麼要優化?我認為啊,無非是乙個,使用者體驗差 而差呢,可能是因為頁面渲染慢,使用者請求處理速度慢。而針對這些問題,我們也想過很多種方案。前端的優化 使用前後端分離開發,靜態檔案就是靜態檔案,不...