中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React Native項目中如何使用Lottie動畫

發布時間:2021-10-08 13:51:09 來源:億速云 閱讀:221 作者:iii 欄目:開發技術

這篇文章主要講解了“React Native項目中如何使用Lottie動畫”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“React Native項目中如何使用Lottie動畫”吧!

Lottie是Airbnb開源的一個面向iOS、Android、React Native的動畫庫,能加載Adobe After Effects導出的動畫,并且能讓原生App像使用靜態素材一樣使用這些動畫,完美實現炫酷的動畫效果。
使用流程上,Lottie動畫需要先使用Adobe After Effects做出原動畫,然后再使用官方提供的Bodymovin插件把動畫導出成Json文件,而這個Json文件就是Lottie需要解析的動畫源文件。
在React Native項目中使用Lottie動畫,需要先安裝lottie-react-native和lottie-ios插件,如下所示。

yarn add lottie-react-native
yarn add lottie-ios@3.2.3

安裝完成之后,可以使用react-native link命令來鏈接原生庫的依賴。當然,除此之外,我們還可以使用手動的方式來添加依賴。對于使用CocoaPods的iOS項目來說,需要添加如下的腳本文件。

pod 'lottie-ios', :path => '../node_modules/lottie-ios'
pod 'lottie-react-native', :path => '../node_modules/lottie-react-native'

然后,再執行pod install命令安裝插件即可。對于原生Android來說,首先需要在android/settings.gradle文件中添加如下內容。

include ':lottie-react-native'
project(':lottie-react-native').projectDir = new File(rootProject.projectDir, '../node_modules/lottie-react-

接著,打開app/ build.gradle文件添加如下依賴。

 dependencies {
  ...
  implementation project(':lottie-react-native')
  ...
}

最后,還需要將LottiePackage添加到ReactApplication的getPackages()方法中,如下所示。

import com.airbnb.android.react.lottie.LottiePackage;
    
@Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          ...  //省略其他代碼
          new LottiePackage()
      );
    }
  };

到此,Lottie所需的原生開發環境就搭建好了。接下來,只需要使用Lottie提供的LottieView組件加載前面導出的Json文件即可,如下所示。

function LottieAnimPage(){
    return (
      <LottieView source={require('../animations/LottieLogo1.json')} autoPlay loop />
    )
}

export default LottieAnimPage;

同時,LottieView組件還提供了一個progress參數,用來給動畫添加一些額外的效果。例如,下面是使用progress實現點贊效果的示例代碼。

function LottieAnimPage(){

    const anim = useRef(new Animated.Value(0)).current;

    function linearAnim() {
        Animated.timing(anim, {
            toValue: 1,
            duration: 5000,
            easing: Easing.linear,
        }).start();
    }

    React.useEffect(() => {
        linearAnim();
    }, []);

    return (
        <LottieView source={require('../animations/TwitterHeart.json')}
                    progress={anim}  />
    )
}

可以看到,實現Lottie動畫效果的核心還在如何制作Lottie原動畫。首先,我們需要安裝Adobe After Effects,并使用它制作Lottie原動畫,然后再安裝Bodymovin插件,最后將Lottie原動畫導出為動畫的Json文件。如果沒有安裝Adobe After Effects,可以到Adobe的官網下載安裝,如圖3-7所示。

React Native項目中如何使用Lottie動畫

退出After Effects,下載最新的ZXP Installer進行安裝。安裝完成之后,再下載最新的Bodymovin插件。打開ZXP Installer,將Bodymovin插件拖到ZXP Installer的窗口中進行安裝,如圖3-8所示。

React Native項目中如何使用Lottie動畫

接下來,打開After Effects,依次點擊【Window】→【Extensions】就可以看到Bodymovin插件。當然,Lottie官網也提供了很多炫酷的動畫,可以直接下載這些動畫的Json文件就可以使用

感謝各位的閱讀,以上就是“React Native項目中如何使用Lottie動畫”的內容了,經過本文的學習后,相信大家對React Native項目中如何使用Lottie動畫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洪洞县| 临夏市| 崇信县| 株洲县| 雷波县| 景德镇市| 嫩江县| 本溪| 岳阳县| 阿坝| 宣城市| 宜宾市| 张家口市| 大竹县| 八宿县| 泰安市| 广州市| 张掖市| 平顺县| 绥化市| 仁化县| 屏南县| 阆中市| 洪江市| 阳西县| 余江县| 嫩江县| 临夏市| 镇巴县| 佛冈县| 鄂伦春自治旗| 鲁山县| 铜陵市| 晋中市| 富宁县| 韶山市| 策勒县| 中江县| 靖宇县| 古蔺县| 赤城县|