您好,登錄后才能下訂單哦!
這篇文章主要講解了“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所示。
退出After Effects,下載最新的ZXP Installer進行安裝。安裝完成之后,再下載最新的Bodymovin插件。打開ZXP Installer,將Bodymovin插件拖到ZXP Installer的窗口中進行安裝,如圖3-8所示。
接下來,打開After Effects,依次點擊【Window】→【Extensions】就可以看到Bodymovin插件。當然,Lottie官網也提供了很多炫酷的動畫,可以直接下載這些動畫的Json文件就可以使用
感謝各位的閱讀,以上就是“React Native項目中如何使用Lottie動畫”的內容了,經過本文的學習后,相信大家對React Native項目中如何使用Lottie動畫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。