用Lottie把啟動界面動起來

Lottie介紹

Lottie可以把Adobe After Effects制作的動畫導出為JSON,然后能在Android 伴澄、IOS、WEB上播放。
官網(wǎng):http://airbnb.io/lottie/

使用示例

我們嘗試把它應用在啟動圖上侈玄,告別一成不變的圖片。例如下面這個效果:

這個是未處理的效果
這個是用lottie的效果

我們可以看到吟温,畫面生動起來了序仙。動畫一共5秒,做了3個效果:
一鲁豪、文字淡化出現(xiàn)(從1秒后開始淡化顯示)
二潘悼、落葉(從上往下掉落律秃,加入傾斜仿風吹的效果)
三、云朵移動(天空上的白云從左邊移動到右邊)

下載AE

下載地址:https://bfile.3987.com/bigfile/aftereffectscc2017_lsb_3987.rar
這個是綠色版的治唤,直接解壓就能運行啦棒动。

下載插件

先下載bodymovin.zxp插件
下載地址:https://raw.githubusercontent.com/bigxixi/bodymovin/master/zxp_cn/bodymovin462cn.zxp
然后把它解壓到電腦的這個目錄下:
MAC:
/Library/Application\ Support/Adobe/CEP/extensions/bodymovin

WINDOWS:
C:\Program Files (x86)\Common Files\Adobe\CEP\extensions\bodymovin


bodymovin插件位置

配置注冊表

MAC:
打開文件 ~/Library/Preferences/com.adobe.CSXS.6.plist ( com.adobe.CSXS.?宾添?船惨?.plist 其中問號根據(jù) AE 版本不同會有不同) 新加一行,鍵(key)為 PlayerDebugMode, 類型為字符串(String), 值為 1 缕陕。

WINDOWS:
按win+R 打開運行粱锐,然后輸入:regedit ,就打開了注冊表扛邑。
找到注冊表鍵值 HKEY_CURRENT_USER/Software/Adobe/CSXS.6 增加一個鍵值名為 PlayerDebugMode, 類型為字符串(String), 值為 1 怜浅。

注冊表配置

到這里,所需要的工具就已經(jīng)搞完了鹿榜,下面開始制作動畫海雪。

動畫制作

一、把文件導入AE

把背景圖舱殿、落葉奥裸、云朵、文字四個素材導入AE沪袭,并且設(shè)置工程的長度為5秒湾宙。

二、文字淡化出現(xiàn)

把文字的素材拉到背景圖上面冈绊,然后點擊變換侠鳄,選擇不透明度,移動時間軸到1s的時候死宣,設(shè)置不透明度為0伟恶,然后拖動時間軸到3s,設(shè)置不透明度為100

三毅该、落葉

把落葉的素材拖到文字層上面博秫,點擊變換,在0s的時候點擊位置設(shè)立關(guān)鍵幀眶掌,然后把落葉的位置調(diào)到頂端挡育,之后把時間軸拖到5s,再設(shè)置關(guān)鍵幀并把落葉的位置調(diào)到底端朴爬。最后即寒,加上水平偏移,模仿風吹的效果。在3s和5s的時候設(shè)立關(guān)鍵幀母赵,然后調(diào)整位置x的坐標逸爵。

四、白云

把白云的素材放在背景層上面凹嘲,然后復制一層背景放在白云上面痊银,因為白云移動不能在樹的前面顯示,所以要用鋼筆工具施绎,把樹的部分進行遮罩。然后選擇白云的素材贞绳,點擊變換谷醉,在1s的時候設(shè)立關(guān)鍵幀,并設(shè)置位置在最左邊冈闭,最后移動到5s設(shè)置關(guān)鍵幀并設(shè)置位置在最右邊俱尼。

五、輸出動畫文件

制作完成后萎攒,點擊窗口遇八,擴展,bodymovin耍休,然后點擊設(shè)置按鈕刃永,選擇下面的演示模式(輸出后會有一個demo.html文件,可以直接打開預覽效果)羊精,設(shè)置后斯够,點擊渲染。成功的話喧锦,會生成一個image文件夾和data.json文件读规,把這兩個文件放到android或者ios,或者web都可以直接使用了燃少。

Android端使用

在app中添加以下依賴

dependencies {  
  compile 'com.airbnb.android:lottie:2.1.2'
}

1束亏、把image文件夾和data.json文件放在assets文件夾里面,然后在布局聲明阵具,最后在代碼調(diào)用

lottieAnimationView = (LottieAnimationView) findViewById(R.id.animation_view);
lottieAnimationView.setImageAssetsFolder("images");
lottieAnimationView.setAnimation("data.json");
lottieAnimationView.playAnimation();

2碍遍、如果是想下載的方式,然后放在內(nèi)存卡的話(一般都是這樣用怔昨,因為可以隨時更改動畫)雀久,把下載的文件解壓到內(nèi)存卡,然后把路徑傳進去

        File jsonFile = new File(getIntent().getStringExtra(JSON_PATH));
        File imagesDir = new File(getIntent().getStringExtra(IMAGES_PATH));
        FileInputStream fis = null;
        if (jsonFile.exists()) {
            try {
                fis = new FileInputStream(jsonFile);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
        }
        if (fis == null || !imagesDir.exists()) {
            Toast.makeText(FangShengAnimActivity.this, "動畫資源不存在", Toast.LENGTH_SHORT).show();
            finish();
            return;
        }
        final String absolutePath = imagesDir.getAbsolutePath();
        lottieAnimationView.setImageAssetDelegate(new ImageAssetDelegate() {
            @Override
            public Bitmap fetchBitmap(LottieImageAsset asset) {
                BitmapFactory.Options opts = new BitmapFactory.Options();
                opts.inScaled = true;
                opts.inDensity = 160;
                return BitmapFactory.decodeFile(absolutePath + File.separator + asset.getFileName(), opts);
            }
        });
        LottieComposition.Factory.fromInputStream(this, fis, new OnCompositionLoadedListener() {
            @Override
            public void onCompositionLoaded(@Nullable LottieComposition composition) {
                lottieAnimationView.setComposition(composition);
                lottieAnimationView.playAnimation();
            }
        });

IOS端和web端使用

這里不介紹啦趁舀,可以去官網(wǎng)看看詳細用法:
IOS:https://github.com/airbnb/lottie-ios
web:https://github.com/airbnb/lottie-react-native

總結(jié)

有人問赖捌,那個啟動圖的,用gif也能實現(xiàn)類似的效果啊≡奖樱可以是可以罩锐,但gif的體積一般比較大、而且大尺寸的gif可能導致崩潰卤唉,而且畫質(zhì)肯定是不如lottie好的涩惑。lottie的畫質(zhì)和圖片的畫質(zhì)是一樣的,而且體積就是圖片的體積桑驱,加上一個json文件(幾十kb)就能實現(xiàn)動畫效果了竭恬。lottie給我們提供了一個工具,只要我們花點創(chuàng)意熬的,就能做出生動的動畫效果了痊硕。lottie的使用,不僅僅是應用在啟動圖那么局限押框,可以出現(xiàn)在:抽獎畫面岔绸、加載畫面、搖簽畫面橡伞、靈符開光等等都是可以的盒揉。發(fā)動你的思維,讓app更多地方用上lottie兑徘,打造一個活潑生動的app吧刚盈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市道媚,隨后出現(xiàn)的幾起案子扁掸,更是在濱河造成了極大的恐慌,老刑警劉巖最域,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谴分,死亡現(xiàn)場離奇詭異,居然都是意外死亡镀脂,警方通過查閱死者的電腦和手機牺蹄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來薄翅,“玉大人沙兰,你說我怎么就攤上這事∏唐牵” “怎么了鼎天?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長暑竟。 經(jīng)常有香客問我斋射,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任罗岖,我火速辦了婚禮涧至,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘桑包。我一直安慰自己南蓬,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布哑了。 她就那樣靜靜地躺著赘方,像睡著了一般。 火紅的嫁衣襯著肌膚如雪弱左。 梳的紋絲不亂的頭發(fā)上蒜焊,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音科贬,去河邊找鬼。 笑死鳖悠,一個胖子當著我的面吹牛榜掌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乘综,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼憎账,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卡辰?” 一聲冷哼從身側(cè)響起胞皱,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎九妈,沒想到半個月后反砌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡萌朱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年宴树,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片晶疼。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡酒贬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出翠霍,到底是詐尸還是另有隱情锭吨,我是刑警寧澤,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布寒匙,位于F島的核電站零如,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜埠况,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一耸携、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧辕翰,春花似錦夺衍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至壁榕,卻和暖如春矛紫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背牌里。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工颊咬, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牡辽。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓喳篇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親态辛。 傳聞我的和親對象是個殘疾皇子麸澜,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 前沿 該文章主要介紹了 Lottie是什么,如何為 Lottie 制作動畫奏黑,以及 Lottie的應用場景炊邦。適合設(shè)計...
    York_魚閱讀 21,742評論 8 171
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,506評論 25 707
  • 我的博客地址:www.viggoz.com這篇文章簡單總結(jié)了一下網(wǎng)頁和移動App中動畫的實現(xiàn)方法,bodymovi...
    viggoz閱讀 26,293評論 14 48
  • Lottie介紹 “Lottie is a library for Android, iOS, Web, and ...
    iTerryWang閱讀 53,647評論 89 244
  • 前幾天熟史,有一回馁害,跟同位在公園散步,在人工湖旁邊蹂匹,發(fā)現(xiàn)一排石碑蜗细,上面刻著杜甫的幾首詩。 我們試著一句句地念:岱宗夫如...
    黑豆先生閱讀 258評論 2 3