欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React Native項(xiàng)目中使用Lottie動(dòng)畫的方法

 更新時(shí)間:2021年10月08日 11:37:19   作者:xiangzhihong8  
這篇文章主要介紹了React Native 實(shí)現(xiàn)Lottie動(dòng)畫的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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

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

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

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

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

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所需的原生開發(fā)環(huán)境就搭建好了。接下來,只需要使用Lottie提供的LottieView組件加載前面導(dǎo)出的Json文件即可,如下所示。

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

export default LottieAnimPage;

同時(shí),LottieView組件還提供了一個(gè)progress參數(shù),用來給動(dòng)畫添加一些額外的效果。例如,下面是使用progress實(shí)現(xiàn)點(diǎn)贊效果的示例代碼。

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}  />
    )
}

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

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

接下來,打開After Effects,依次點(diǎn)擊【W(wǎng)indow】→【Extensions】就可以看到Bodymovin插件。當(dāng)然,Lottie官網(wǎng)也提供了很多炫酷的動(dòng)畫,可以直接下載這些動(dòng)畫的Json文件就可以使用,如圖3-9所示。

到此這篇關(guān)于React Native 實(shí)現(xiàn)Lottie動(dòng)畫的文章就介紹到這了,更多相關(guān)React Native Lottie動(dòng)畫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React基于RBAC的權(quán)限控制案例講解

    React基于RBAC的權(quán)限控制案例講解

    這篇文章主要介紹了React基于RBAC的權(quán)限控制,通過定義角色和權(quán)限、編寫權(quán)限檢查函數(shù)以及在路由、組件和選擇控件中使用這些函數(shù),可以靈活地控制應(yīng)用中的訪問權(quán)限,需要的朋友可以參考下
    2024-05-05
  • react中使用Modal.confirm數(shù)據(jù)不更新的問題完美解決方案

    react中使用Modal.confirm數(shù)據(jù)不更新的問題完美解決方案

    這篇文章主要介紹了react中使用Modal.confirm數(shù)據(jù)不更新的問題解決方案,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • React 使用Hooks簡(jiǎn)化受控組件的狀態(tài)綁定

    React 使用Hooks簡(jiǎn)化受控組件的狀態(tài)綁定

    這篇文章主要介紹了React 使用Hooks簡(jiǎn)化受控組件的狀態(tài)綁定,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • React Hook父組件如何獲取子組件的數(shù)據(jù)/函數(shù)

    React Hook父組件如何獲取子組件的數(shù)據(jù)/函數(shù)

    這篇文章主要介紹了React Hook父組件如何獲取子組件的數(shù)據(jù)/函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • React實(shí)現(xiàn)下拉框的key,value的值同時(shí)傳送

    React實(shí)現(xiàn)下拉框的key,value的值同時(shí)傳送

    這篇文章主要介紹了React實(shí)現(xiàn)下拉框的key,value的值同時(shí)傳送方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 簡(jiǎn)單分析React中的EffectList

    簡(jiǎn)單分析React中的EffectList

    這篇文章主要簡(jiǎn)單分析了React中的EffectList,幫助大家更好的理解和學(xué)習(xí)使用React進(jìn)行前端開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • React復(fù)制到剪貼板的示例代碼

    React復(fù)制到剪貼板的示例代碼

    本篇文章主要介紹了React復(fù)制到剪貼板的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • React經(jīng)典面試題之倒計(jì)時(shí)組件詳解

    React經(jīng)典面試題之倒計(jì)時(shí)組件詳解

    這些天也都在面試,面試的內(nèi)容也大多千篇一律,無外乎vue、react這些框架的一些原理,和使用方法,但是也遇到些有趣的題目,這篇文章主要給大家介紹了關(guān)于React經(jīng)典面試題之倒計(jì)時(shí)組件的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 詳解React 條件渲染

    詳解React 條件渲染

    這篇文章主要介紹了React 條件渲染的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • React星星評(píng)分組件的實(shí)現(xiàn)

    React星星評(píng)分組件的實(shí)現(xiàn)

    評(píng)分插件在購(gòu)物的應(yīng)用中經(jīng)??梢钥吹玫剑怯弥鴦e人的總是沒有自己寫的順手,本文就使用React實(shí)現(xiàn)星星評(píng)分組件,感興趣的可以了解一下
    2021-06-06

最新評(píng)論