Advanced React Native FlatList animations at 60fps with Animated API

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024

Комментарии • 273

  • @CatalinMironDev
    @CatalinMironDev  4 года назад +23

    I received a lot of comments that this is not visible on Android devices. Here's the fix for it: snack.expo.io/@catalinmiron/react-native-movie-2.0-carousel-for-android. Thanks a ton!

    • @kylenoome4482
      @kylenoome4482 2 года назад

      having issues with this can i speak to you on twitter?

    • @Dipenparmar12
      @Dipenparmar12 2 года назад

      Still not working on Android.

    • @zare775
      @zare775 Год назад

      Hi, in your example you use useNativeDriver: false. It is too slow on my device. Do you have any solution with useNativeDriver: true for android ?

    • @pixelwizardai
      @pixelwizardai Год назад

      I have managed to try and works on android, don't know the implication but I make the { useNativeDriver:false} in Animate.Flatlist} and follow the above code link, and made some changes as the input range is const inputRange = [
      (index - 1.5) * ITEM_SIZE,
      (index - 1) * ITEM_SIZE
      ] and const translateX = scrollX.interpolate({
      inputRange,
      outputRange:[0, width],
      extrapolate:'clamp'
      })

    • @GameLoverVivekrana
      @GameLoverVivekrana Год назад

      @@pixelwizardai where did you put useNativeDriver false

  • @prakashd842
    @prakashd842 4 года назад +48

    This guy is very underrated . He deserves more subscribers .

  • @faisalimtiaz4390
    @faisalimtiaz4390 3 года назад

    This guy deserve to be the top react native teacher on youtube.

  • @sripasum3122
    @sripasum3122 4 года назад +10

    You deserve many more subscribers for this. Thank you for the quality content ☺️

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Thank you Sridatta, I’m doing my best to teach as many things as possible and I’m just scratching the surface here:) ✌️

  • @thatsalot3577
    @thatsalot3577 2 года назад +1

    Ohhhh... I can't express how happy I am like I can do all that stuff in css or framer motion but I was struggling to do that in react native and thought that I lost all my progress but your channel gave me hope to continue working on react native.

  • @theOrdinaryDev
    @theOrdinaryDev 3 года назад +1

    This is the best react native content I have ever seen.

  • @all-in-all7862
    @all-in-all7862 4 года назад +5

    Thanku so much bro I will be implementing this animation in my project, I will share your video in my friend circle I think you deserve more subscribers,🙂👍

  • @ethantastic
    @ethantastic 3 года назад

    this man is directly connected

  • @koffworld7857
    @koffworld7857 Год назад

    This interface is out of this world! 🥰🥰

  • @jolly7506
    @jolly7506 4 года назад +2

    Thank you for making awesome tuts for us and inspiring the React Native movement!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Glad you like them and it's my pleasure Erik. I am involved in this community for more than 6 years and I simply love it. Thank you for sharing your thoughts ✌️

  • @akmalahmed4660
    @akmalahmed4660 4 года назад +1

    Thank you very much. I'll share this video with my friends.

  • @ahmedsamir-m8s
    @ahmedsamir-m8s 2 года назад

    Finally RUclips suggested great channel

  • @codehack3536
    @codehack3536 4 года назад +1

    You are god of Flat List Animation.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      hahaha, thank you ✌️I just wanted to show that it is possible to create awesome stuff with React Native :)

  • @aleks6331
    @aleks6331 4 года назад +1

    Awesome video, clean code, no complications!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Thank you Aleks. I’m glad that you like it

  • @tiganaGTV
    @tiganaGTV 4 года назад

    Thank you very much for your great content. I'm going to watch all your videos. I'm new to react-native.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Glad you like them and welcome to React Native community Ibrahim! ✌️

  • @nikhil73nainta
    @nikhil73nainta 4 года назад +1

    Great work Catalin

  • @collocheru
    @collocheru 4 года назад +1

    Your explanations are really nice, thanks for a great tutorial

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Thank you Cheruiyot! I’m always trying to improve myself ✌️

    • @collocheru
      @collocheru 4 года назад

      @@CatalinMironDev That's great, you are so good, how long have you worked with react native?

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      @@collocheru Since January 2015 (I had access to the private React Native repository).
      You can listen to my React Native Radio session to find out more about me and my work:
      dev.to/reactnativeradio/rnr-122-react-native-animations-feat-catalin-miron
      dev.to/reactnativeradio/rnr-168-animations-and-micro-interactions-in-react-native-with-catalin-miron
      Thank you Cheruiyot ✌️

  • @lucasmoura5698
    @lucasmoura5698 2 года назад

    Hey man, that was a really nice video, and a great learning. Thanks, from Brasil

  • @andreistoica1332
    @andreistoica1332 3 года назад

    Great work! I enjoyed every piece of it.

  • @iqorlobanov
    @iqorlobanov 4 года назад +1

    Best animation tutorials! Thanks! 👍

  • @johnnyquid8146
    @johnnyquid8146 3 года назад

    This was awesome, I loved it, super helpful.

  • @semiherdogan1032
    @semiherdogan1032 2 года назад

    very helpful tutorial! I learnt a lot about animations on rn through your videos 👍🏻 thank you...

  • @adilmezghouti
    @adilmezghouti Месяц назад

    Nicely done. Thanks for sharing.

  • @AkshatKumawat
    @AkshatKumawat 4 года назад +2

    I'm pretty impressed with this tutorial and your way to teach is so good... Cam you please make a video on instgram stories animation that will be appreciated ❤️

  • @dannyhw
    @dannyhw 4 года назад +4

    Great work! By the way you can also add padding to the flatlist contentContainerStyle instead of doing a dummy element.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +3

      You are right! I wanted to show both ways dummy elements and padding (this will be in a future tutorial) but stick with padding. Thanks Danny ✌️

  • @codehack3536
    @codehack3536 4 года назад

    Awesome video, please continue making video like this.

  • @joshreynolds4164
    @joshreynolds4164 4 года назад +7

    You've gotta get an animations course out man! Awesome stuff, thank you!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +12

      Thank you Josh! I'm working on it ❤️

    • @joshreynolds4164
      @joshreynolds4164 4 года назад +1

      @@CatalinMironDev Can't wait!

    • @hansderly
      @hansderly 4 года назад +1

      @@CatalinMironDev I'm waiting for it dude, awesome work brother

    • @vkray
      @vkray 4 года назад +1

      Catalin Miron I also suggested you on Twitter regarding the course.

    • @aqeebhj5467
      @aqeebhj5467 4 года назад

      @Catalin Miron hi can you please make a video on how use graphes in react native and how to show them on mobile it will be helpful for my project thank you for hearing me.

  • @Lili_4405
    @Lili_4405 3 года назад

    Thank you from Brazil!

  • @sibrimbarcenasreales5525
    @sibrimbarcenasreales5525 5 месяцев назад

    Nice video, thanks for this content !

  • @damyHarbi
    @damyHarbi 3 года назад

    Bro.. it was amazing..!!! you are PRO

  • @sykn3z
    @sykn3z 4 года назад +1

    Thanks keep making videos like this! :D

  • @totaltotal157
    @totaltotal157 4 года назад +1

    Just on time! Thanks!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      You’re welcome. Thanks for checking out this video ✌️

  • @jackwhite5070
    @jackwhite5070 4 года назад +1

    Perfectly beautiful

  • @anhquannguyen5111
    @anhquannguyen5111 4 года назад

    Great tutorial again. Thank you so much

  • @nicolasmendonca3624
    @nicolasmendonca3624 4 года назад +1

    That is awesome! Thank you!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      You’re welcome Nicolas, I’m glad that you like it✌️

  • @cleversonluizcorreiadesouz5959
    @cleversonluizcorreiadesouz5959 3 года назад +8

    Man... You definitely should make an Udemy course on ReactNative animation...

  • @zdzboss
    @zdzboss 4 года назад

    Awesome tutorial. Thank you!

  • @youssefmuhamad3213
    @youssefmuhamad3213 4 года назад

    Awesome! Bring more animation videos, you explain very well. +1 sub

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Thank you Youssef! There's more to come ✌️

  • @naibtahmazli6384
    @naibtahmazli6384 3 года назад

    instead of using if statement to check and add view u can directly add view to before an after flatlist using listHeaderComponent and listFooterComponent

  • @Abram879
    @Abram879 3 года назад

    Great tutorial, thanks

  • @gung2267
    @gung2267 4 года назад +2

    Really really good!!!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Thank you so much for showing your support ✌️

  • @ItsViswaa
    @ItsViswaa 3 года назад

    Man... You're the best!

  • @iamshadmirza
    @iamshadmirza 4 года назад

    Very cool. Thank you for this.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Glad you liked it and you're welcome. Thanks Mohd! ✌️

  • @borasumer
    @borasumer 4 года назад

    Awesome job again, thanks man.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Thank you Bora, I’m glad you like it ✌️

  • @sanjoyrakshit842
    @sanjoyrakshit842 3 месяца назад

    Nice sir it's really useful love from India

  • @mohammadkhoirulanam5322
    @mohammadkhoirulanam5322 4 года назад

    Thanks, this is the best tutorial

  • @felixgallo5132
    @felixgallo5132 4 года назад +3

    if you could do some tutorials for firebase with react native from scratch would be awasome, there are not many of them and the available ones are not so good as well.
    Thanks for your work!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +3

      I already have a series where I create a Habits app frok scratch with GraphQL (backend and mobile) but I will definitely consider expanding the content here. Thanks Felix ✌️

    • @felixgallo5132
      @felixgallo5132 4 года назад

      @@CatalinMironDev Thanks to you Catalin!

  • @devilstudio2719
    @devilstudio2719 4 года назад

    Nice tut on react native 🤘. I'm noob to react native . Dude u explain amazingly about all stuff....
    I would suggest to try building from scratch..
    Overall nice tuts dude🤘

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Great suggestion! Thanks a lot Sahil it really means a lot to me to be able to help you! Thanks ✌️

  • @tanvirazad49
    @tanvirazad49 3 года назад

    earned yourself a subscriber here!

  • @techienomadiso8970
    @techienomadiso8970 3 года назад

    I hit like before I watch! !

  • @darshanponikar3633
    @darshanponikar3633 4 года назад

    Man this is awesome!

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Thanks Darshan, I’m glad you liked it ✌️

  • @adedayo4405
    @adedayo4405 4 года назад

    Boooyaaah!! Lets go! Love you man.

  • @karthikbalasubramanian5122
    @karthikbalasubramanian5122 Год назад

    Great tutorial. I am wondering, how can I loop this content, in the Flatlist. Really finding hard on how to get the Flatlist items to loop.
    Thanks a lot. Your videos have helped me understand React Native and Animations better every time. Thanks!!

  • @md.rajibsk4613
    @md.rajibsk4613 4 года назад

    Grt Job Man 👍👍... You got a new subscriber 🤣

  • @jeanwona2689
    @jeanwona2689 Год назад +1

    Hello dear, thank you for all the work you have done. But for fix the flatlist active component in the middle of screen, you can use another smooth way. You can create a Empty component that will contain an empty view which must have SPACER_ITEM_SIZE as width value. Then put this component as listHeaderComponent and listFooterComponent for your flatlist. That is all. Sorry for my bad english guys.
    Please, have you a store of paid react-native advanced animations courses for people who want it?

  • @di107dev
    @di107dev 3 года назад

    Very good video!

  • @jackyvegaz
    @jackyvegaz 3 года назад

    you have my respect bro!

  • @hritikagarwal7676
    @hritikagarwal7676 3 года назад

    Thanks Catalin for this amazing content. By the way when you are starting making content on reanimated 2?

    • @CatalinMironDev
      @CatalinMironDev  3 года назад +1

      Maybe next year, I’m not yet finished with Animated API and most probably you’ll see Reanimated2 content after I’ll publish my Reanimated2 course. Cheers Hritik ✌️

  • @stefanhallgr
    @stefanhallgr 4 года назад +1

    I like the curly brackets, what theme are you using in VS Code ? or what do you use to get these unique, more readable, brackets ?

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Hi, my VSCode theme is Palenight and the font is called Operator Mono. Thanks Stefan ✌️

  • @bharatmishra250
    @bharatmishra250 3 года назад

    I'm your new subscriber 😁

  • @skshahidali2280
    @skshahidali2280 4 года назад

    Thank you so much man.

  • @brd3n
    @brd3n 6 месяцев назад

    Brillant 👍👏

  • @naturegoggle
    @naturegoggle 4 года назад

    Awesome. Keep it up.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      Thank you Kuldeep, I’m glad you like the video ✌️

  • @everyonevoice
    @everyonevoice 2 года назад

    This is very good and I just want to know how you imagin before any animation

  • @oguzhanturker8903
    @oguzhanturker8903 4 года назад

    Awesome vids thanks a lot

  • @gianludibella
    @gianludibella 3 года назад

    Master!

  • @PlayerHeader
    @PlayerHeader 4 года назад

    awesome video!!! subscription

  • @ahmedayachi5889
    @ahmedayachi5889 3 года назад

    ty for the video i always watch the anim and try to make it by my own and then watch your solution , about the spacer it would be better if you have added paddingHorizontal to the flatlist container instead of creating a spacer element , ty for your videos again

  • @BearkFearGamer
    @BearkFearGamer 4 года назад

    We can make this infinity? Like a linked list? The last item is linked to the first and this idea. Well, i think this is better than the spacer in start and the end. The right spacer shows the first items and the left-spacer of the first item show the last. You can do this in another tutorial?

  • @sanketpuhan9649
    @sanketpuhan9649 2 года назад

    hey hi i really loved your teaching .. got a doubt how to pass props to components in shared element Screen ??

  • @kambingitem298
    @kambingitem298 3 года назад

    awesome 👍 thanks lord

    • @CatalinMironDev
      @CatalinMironDev  3 года назад

      I’m glad that you like it. Thanks Dio ✌️

    • @CatalinMironDev
      @CatalinMironDev  3 года назад

      I’m glad that you like it. Thanks Dio ✌️

  • @julianchamberlain69
    @julianchamberlain69 2 года назад

    Hi man, great work! Is it possible to add a swipe up and down to the centered item? Would be a great feature! Or if possible could you point me in the right direction on how to do this, thanks

  • @ludwigvillalba1886
    @ludwigvillalba1886 2 года назад

    Thanks!

  • @junangameplays3271
    @junangameplays3271 3 года назад

    Awesome, could you make a vídeo of shuffling cards and when you choose one, it leaves from the card deck and go to another position

  • @AndreiKashkan
    @AndreiKashkan 4 года назад +1

    Hey! It is amazing video! Just have a question. How can I get current index of active item?

  • @programmersohel
    @programmersohel 10 месяцев назад

    Great!

  • @arrowfunction3200
    @arrowfunction3200 4 года назад

    hi thanks for the video really usefull, i know nothing about reanimated v1 and v2 and i want to learn one of them should i start with v2 or v1 what do you suggest?

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Thanks Kreb. To be honest, Reanimated2 is great and powerful, the only downside I'll say is that it is still in beta/alpha so is not that mature compared to Reanimated1. I'll create a course that will walk you through everything that you need to know about Reanimated2. I'll announce it here on the channel once it is ready!. Thanks!

  • @davidreyes7732
    @davidreyes7732 3 года назад

    Great Tutorial,
    I used the fixed version on Android and I wasn't able to run at 60fps I got frames dropped .
    this is due my phone?? or just because animated on android works like that?

  • @ehsaneshaghi1946
    @ehsaneshaghi1946 2 года назад

    it's so awesome
    how can I add auto scrolling to this project?

  • @bymathears6769
    @bymathears6769 4 года назад

    Good video and thanks for the knowledge you share with us. But I don't get the argument you pass in Animated.event in the onScroll prop. Where can I find documentation for the 'argMapping' in react-native (espacially for animated; confused af)

    • @bymathears6769
      @bymathears6769 4 года назад

      if anyone is interested, i found this:
      {
      "contentOffset": {
      "x": 0,
      "y": 2395.333333333333
      },
      "layoutMeasurement": {
      "width": 414,
      "height": 736
      },
      "contentSize": {
      "width": 414,
      "height": 5000
      },
      "zoomScale": 1,
      "updatedChildFrames": [],
      "contentInset": {
      "right": 0,
      "top": 0,
      "left": 0,
      "bottom": 0
      }
      }
      animationbook.codedaily.io/scroll

  • @ahmedtoma8930
    @ahmedtoma8930 3 года назад

    Good job 👏👏. Please make udemy course about react native animation from scratch. I think it will best course ever

  • @hbinh6
    @hbinh6 4 года назад

    Thank u so much bro! But do u have video tutorial full about your project? I'm beginner. Pls

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      No, sorry :( I don't have a full working app for this carousel but this is also going to be part of 10 React Native challenges which I am doing now and it's the last video. Here's the Patreon post to see what we are going to build: www.patreon.com/posts/10-types-of-41446571

  • @animenews9482
    @animenews9482 4 года назад

    You're too cool bro

  • @alex1000-gc
    @alex1000-gc 3 года назад +1

    Hey Catalin! Firstly, thanks for the tutorials, I've seen a lot of them already.
    I have a doubt, I'm trying to animate the FlatList using the Reanimated v2, but I'm getting frame drops, which is making me start using the AnimatedAPI. Do you know how can I avoid frame drops on FlatLists using Reanimated v2? Anyone who sees this comment and is experiencing the same problem, know how to fix it?

    • @MerciBro
      @MerciBro 3 года назад

      Had the same problem yesterday. I solved it by building some limitor algorithms for the data being passed into the list. What's weird is that if you map the same data in a scrollview, you dont get the frame rate drop.

  • @mhasnain.ali_
    @mhasnain.ali_ 4 года назад

    Great work!!
    Can you help me with the Dynamic Input fields Adding to the array as an object. And showing it on click of plus button, with Animation?
    I'm not getting it write or tell me where to look for it...

  • @pinkfloyd9160
    @pinkfloyd9160 4 года назад +1

    Brother, I need help can u tell me how did u master react native and how much time did it take u.
    Also, I am planning an app and decided to make it with react native, will it be good and is it necessary to learn JavaScript before react native.
    Or should I make it with React.js?
    What should I do please 🙏 reply?
    I found your channel thought Reddit and this channel is GOLD.

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      Hi, I had access to React Native before it was released and I build the very first complete application with it after 3 months after the release, but all of this because I knew React.
      This is the app v1: github.com/catalinmiron/react-native-dribbble-app
      And app v2: zribbble.com

    • @pinkfloyd9160
      @pinkfloyd9160 4 года назад +1

      but can we build large projects like Facebook or Instagram using react native?

    • @pinkfloyd9160
      @pinkfloyd9160 4 года назад +1

      @@CatalinMironDev that means I will have to learn react in order to learn react native.

    • @pinkfloyd9160
      @pinkfloyd9160 4 года назад +1

      @@CatalinMironDev Why u didn't launch your app on play store as with react native we can build cross-platform apps?

    • @CatalinMironDev
      @CatalinMironDev  4 года назад +1

      The app was launched in the AppStore but Dribbble cut the whole API
      I think that knowing JavaScript and a little bit of CSS can help you out, knowing React is definitely a plus because will make your transition smoother.
      Yes, you can write cross-platform solutions in React/React Native
      I’m working at Skype which is a cross-platform application built with React and React Native.
      Thanks 🙏

  • @srikanthmukkera3942
    @srikanthmukkera3942 3 года назад

    will you also make a video to make this a loop of bidirectional carousel?

  • @buthex
    @buthex 3 года назад

    hello! awesome video
    can you helpe, please?
    I`m also animating opacity of the items to 0.5 when they are not in the center, but whenever I set a state on this screen, it messes with the opacity. I guess it re renders the list and reapply the opacity, so if im a the 3rd item up, they become invisible
    would you know how to fix it?
    thanks!

  • @westfield90
    @westfield90 4 года назад

    Superb

  • @furkanturkylmaz8385
    @furkanturkylmaz8385 4 года назад

    Perfect

  • @666thales666
    @666thales666 4 года назад +1

    Awesome! iOS works fine, but,
    why is the backdrop component so slow on android?

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      I fix it since it was reported yesterday, here's the updated link: snack.expo.io/@catalinmiron/react-native-movie-2.0-carousel-for-android.Please refer to *chirag prajapati* comment from the comments section. It seems that the problem is with MaskedView maskElement, it is too expensive to recalculate something that's moving so I opted-in for using *width* animation and remove the MaskedView completely since it's not performant of Android.

    • @666thales666
      @666thales666 4 года назад

      @@CatalinMironDev Thanks! I didn't see the reference, sorry.
      This tip is worth two coffees

    • @CatalinMironDev
      @CatalinMironDev  4 года назад

      @@666thales666 Thank a lot Thales and I'm happy this worked for you. Thanks for the coffees in advance ❤️

  • @muhammaddanish6956
    @muhammaddanish6956 3 года назад

    @Catalin Miron how to achieve dynamic scroll able vertical pager ( tabs ) with lazy effect.

  • @samidebayroune3478
    @samidebayroune3478 2 года назад

    I wonder if I can ever be in where you are in React Native

  • @siyabongahadebe18
    @siyabongahadebe18 10 месяцев назад

    If I am using a react native reanimated carousel, how can I get the scrollX to work

  • @Deviliumrei
    @Deviliumrei 3 года назад

    How do you stop the carousel so that it won't scroll more than one item per swipe?

  • @informatvetv4843
    @informatvetv4843 Год назад

    I selected same code of yours but background image is not moving . first one stays even i move to next movie

  • @still-codin
    @still-codin 2 года назад

    Tutorial was very nice but your fonts got more attention. I also want to use that fonts and I searched everywhere but I can't find them. Can you please tell the font name?

  • @rohanjoshi8420
    @rohanjoshi8420 3 года назад

    I suggest you make step by step video of it this video on how you develop this project. because it is overwhelming to me to start to code. also not understand the entire code.

  • @jassbillu
    @jassbillu 2 года назад

    please create one video for inshorts kind of animation in react native flatlist

  • @mohammadrezamojaveri5455
    @mohammadrezamojaveri5455 4 года назад

    very good project , but MaskedView position "absolute" not working for me !! 😔 pls help me