Advanced React Native FlatList animations with Animated API

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ส.ค. 2024
  • I decided to make an Advanced React Native FlatList animation video tutorial this time. This is an animated carousel / animated slider with lots of awesome animations going on.
    In this video tutorial we'll learn how to create:
    - learn how to create a text parallax effect
    - learn how to animate a pagination indicator
    - learn how to create a clipper/ticker animation with translateY
    - learn how to animate a circle based on active slide index
    Built using @expo, vanilla React Native Animated API and FlatList.
    This code works in plain React Native project as well since we are using only React Native APIs such as Animated and FlatList.
    Inspiration: dribbble.com/shots/3894781-Ur...
    GitHub: github.com/catalinmiron/react...
    ----
    👉Join Discord: / discord .
    Want to support me?
    - Patreon: / catalinmiron
    - BuyMeACoffee: www.buymeacoffee.com/catalinm...
    - Paypal: paypal.me/catalinmiron
    ----
    You can find me on:
    - Github: github.com/catalinmiron
    - Twitter: / mironcatalin
    - Website: batman.codes
    Timeline:
    - 00:00 intro
    - 01:40 project description
    - 04:16 create Animated.event on FlatList
    - 5:54 Animate Image
    - 7:35 Parallax effect
    - 12:01 Animated Ticker/Clipper component
    - 19:00 Animated Circle component
    - 28:11 Animated Pagination component
    - 35:51 Final words
    #reactnative #animations #parallax #flatlist #expo

ความคิดเห็น • 160

  • @pcgs_
    @pcgs_ 4 ปีที่แล้ว +54

    Catalin, you really need to create a course about react native animations !! I'll be the first to buy it!
    Amazing tutorial!!

    • @666thales666
      @666thales666 4 ปีที่แล้ว +1

      I'll be the second

    • @elvargas1327
      @elvargas1327 4 ปีที่แล้ว

      Good idea!

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +8

      Good idea and maybe one day I'll be able to make it happen! Thank you Pedro, it means a lot to me!

    • @joshreynolds4164
      @joshreynolds4164 4 ปีที่แล้ว

      @@CatalinMironDev Get on this! Would be a great idea

    • @oscar_cornejo
      @oscar_cornejo 4 ปีที่แล้ว +1

      Pagaría por ello! 💪🏼💪🏼

  • @hwj8640
    @hwj8640 2 ปีที่แล้ว

    You are the guy that reveal the magic of RN animation! Thank you very much, now I know how these wonderful animations work.

  • @yanndjoumessi7130
    @yanndjoumessi7130 2 ปีที่แล้ว +1

    I didn't know that all those dribbble stuffs were actually implementable. I'm still amazed by you teaching style

  • @MarcoScapelitte
    @MarcoScapelitte 2 ปีที่แล้ว

    Dude, you're incredible. Thanks for sharing your immense knowledge.

  • @vincentjezequel71
    @vincentjezequel71 4 ปีที่แล้ว +1

    Thanks for this great video ! I haven't yet really got to play with animations, but you explain it very well. Already got an idea, can't wait to try it out !

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Amazing Vicent! Please share it with us after you have it ready. Let me know if you need any help! Cheers!

  • @haacki4720
    @haacki4720 ปีที่แล้ว

    DUDE!!! Thank you so much! I've stuck with this problem for a long time when need scale element depending on scroll position. But you help so much!

  • @RafaleKilleR
    @RafaleKilleR 4 ปีที่แล้ว

    Your tutorials are awesome man! Keep up the good work :)

  • @ade-joshe
    @ade-joshe 4 ปีที่แล้ว

    Always admired your shared work on twitter. seeing you here gives me joy! SUBSCRIBED!

  • @dndeveloper
    @dndeveloper 4 ปีที่แล้ว +1

    We are in support with you, Your content is really awesome and appreciated.......

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      I appreciate that! Many many thanks!

  • @MutluAtbatiran
    @MutluAtbatiran 2 ปีที่แล้ว

    Good content! Amazing instructor! 👏👏👏

  • @shivakumars5144
    @shivakumars5144 3 ปีที่แล้ว

    Thanks Catalin! Some animation hints were helpful for my app's animation!!

  • @RaviKiranMakala
    @RaviKiranMakala 4 ปีที่แล้ว

    This is really simple and awesome bro. Learned new things today. I love this video ❤️.

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thank you Ravi! I am glad that found it easy to follow and learned something new!

  • @mirzairshad4063
    @mirzairshad4063 3 ปีที่แล้ว

    You are one of my favorite and awesome tutor on TH-cam

  • @FunwithIndra
    @FunwithIndra 2 ปีที่แล้ว

    Wonderful tutorial.. Please keep posting

  • @oguzhanturker8903
    @oguzhanturker8903 3 ปีที่แล้ว

    Tutorials are above being amazing. Theyare amazing++.

  • @westfield90
    @westfield90 3 ปีที่แล้ว

    Best channel I’ve found in a long time

  • @MohamedSaeed-hi9vi
    @MohamedSaeed-hi9vi 4 ปีที่แล้ว

    i like how you make it so simple, great tutorial

  • @Reactiive
    @Reactiive 3 ปีที่แล้ว

    This video was so helpful for me some time ago. Recently I created a video applying the same concept but using Reanimated 2

  • @njegospetrovic4458
    @njegospetrovic4458 3 ปีที่แล้ว

    Extremely good content! Keep it up!

  • @PierreTeyssedre
    @PierreTeyssedre 4 ปีที่แล้ว

    Very cool tutorial! Thanks for sharing it!!!

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thank you Pierre, I’m glad that you enjoyed it!

  • @nelyousfi
    @nelyousfi 4 ปีที่แล้ว

    Amazing, u make things look so simple.

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Thanks Naoufal! I’m glad you enjoyed it!
      ✌️

  • @egyptsphinx9393
    @egyptsphinx9393 4 ปีที่แล้ว

    Mindblowing as usual 😍😍

  • @yashaskirito
    @yashaskirito 3 ปีที่แล้ว

    This is reallllllllllly damn good!!! Please make a complete tutorial!!!!

  • @AliHassan-yc2tc
    @AliHassan-yc2tc 3 ปีที่แล้ว

    Amazing content, Thank You

  • @619dixitrock
    @619dixitrock 3 ปีที่แล้ว

    Learning awesome things from you everyday. Thanks for creating awesome content like this!!😄

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      I’m glad to hear this! Thanks Dixit ✌️

    • @619dixitrock
      @619dixitrock 3 ปีที่แล้ว

      @@CatalinMironDev Would really love to buy your course on react animation if you create one without second thought. You can publish your course on Udemy or any other platforms and would definitely love to pay n learn for the quality of content you provide.

  • @furqanahmad2670
    @furqanahmad2670 4 ปีที่แล้ว

    thanks, dude for creating this video, I am new to React Native and was looking for a way to develop a carousel for a project I am working on.

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Glad I could help! Don't forget to share it with us after you're done working on it. Thanks Furqan!

  • @hitechfocus
    @hitechfocus 2 ปีที่แล้ว

    Great video, Thanks

  • @MateoHrastnik
    @MateoHrastnik 4 ปีที่แล้ว

    Amazing content! You're a great tutor.

  • @cayetanorosales4784
    @cayetanorosales4784 3 ปีที่แล้ว

    Hey thank you!! this video is amazing!!

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      Thank you Cayetano, I am glad that you liked it! ✌️

  • @nishadpatil9886
    @nishadpatil9886 4 ปีที่แล้ว

    Great Video , Really Helpful

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      I’m glad you liked it Nishad! ✌️

  • @khanhduy3364
    @khanhduy3364 3 ปีที่แล้ว

    I come here for learning animation, thank you very much

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      I’m glad you learned something. Thanks Duy ✌️

  • @vitorrazdorov6017
    @vitorrazdorov6017 3 ปีที่แล้ว

    Thanks for you lessons, and work!

  • @haritssyah7434
    @haritssyah7434 3 ปีที่แล้ว

    amazing!

  • @yusufbashir4436
    @yusufbashir4436 8 หลายเดือนก่อน

    Fantastic

  • @sja1n
    @sja1n 3 ปีที่แล้ว

    great video

  • @fanzana8750
    @fanzana8750 4 ปีที่แล้ว

    Great job 👍

  • @Boga_adventures
    @Boga_adventures 3 ปีที่แล้ว

    awesome!!!

  • @programmersohel
    @programmersohel 6 หลายเดือนก่อน

    Great!

  • @chlbri
    @chlbri 3 ปีที่แล้ว

    Beautifull

  • @khalidkhan5308
    @khalidkhan5308 3 ปีที่แล้ว +1

    I am not going to miss any of your videos -

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Is this good or bad? Because I want you to watch my videos. Please let me know what can I improve. Thanks Khalid ✌️

    • @khalidkhan5308
      @khalidkhan5308 3 ปีที่แล้ว

      @@CatalinMironDev This is just too awesome stuff - I am learning every day from your tutorials.

  • @necmettinsargn3934
    @necmettinsargn3934 3 ปีที่แล้ว

    Thanks. I was struggling with reanimated api because it was flickering at first frame with FlatList onScroll animation. Changed it to animated Api works great. Just have to change height animation to transform animaton bc of useNativeDriver

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      Glad it helped! Thanks Necmettin ✌️

  • @user-dt6kq6um1p
    @user-dt6kq6um1p 2 ปีที่แล้ว

    Спасибо!

  • @ImVuCms
    @ImVuCms 4 ปีที่แล้ว

    Thanks so much ^^

  • @johnphiliplimpahan3115
    @johnphiliplimpahan3115 4 ปีที่แล้ว

    LMAO Just uploaded right now. I've been trying to find tutorials like this earlier. Thanks man!

  • @techienomadiso8970
    @techienomadiso8970 3 ปีที่แล้ว

    Legend!

  • @umaralfaruq1304
    @umaralfaruq1304 3 ปีที่แล้ว

    AWESOME. im waiting for show hide header like Whatsapp with header and top tab

  • @barklegneeshetu8048
    @barklegneeshetu8048 3 ปีที่แล้ว

    You my brother are a LEGEND! Also highly underrated

  • @pedroluis4004
    @pedroluis4004 4 ปีที่แล้ว +3

    Maaaan you're amazing, create a course about animations in React Native !!!

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thanks for the idea and I'm working on it. Thanks Pedro!

  • @nikhil73nainta
    @nikhil73nainta 4 ปีที่แล้ว

    Great catalin

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thanks a lot Nikhil, I'm glad you liked it! ✌️

    • @nikhil73nainta
      @nikhil73nainta 4 ปีที่แล้ว

      @@CatalinMironDev iam also a full stack developer very informative videos you are publishing.

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Nikhil Nainta I am glad that this is helping you, no matter what level you are. Thanks a lot for taking your time to check my videos ✌️

  • @tabaicanking3701
    @tabaicanking3701 4 ปีที่แล้ว

    thanks bro

  • @user-cp2qj5ht7b
    @user-cp2qj5ht7b ปีที่แล้ว

    My idol

  • @farzam-ng6hi
    @farzam-ng6hi 3 ปีที่แล้ว

    greate animating view big brain guy

  • @rizaldi4563
    @rizaldi4563 3 ปีที่แล้ว +1

    Amazing tutorial! thankyou so much. I hope you make a Udemy course with bunch of animated case study :D

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +3

      I'm working on creating a course about animations. I'll let you know once this is finished. Thanks a lot Rizaldi ✌️

  • @danielnovacik4924
    @danielnovacik4924 4 ปีที่แล้ว

    Just gotta figure an app to use it. Awesome work mate!

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Thanks Daniel! In case you figure it out where to use it, please share the app with me, I’d love to see it in action.
      ✌️

  • @yasirnajeep
    @yasirnajeep 4 ปีที่แล้ว

    I Love the 🌵 in the background

  • @Muzly
    @Muzly 2 ปีที่แล้ว

    Whenever I use the native driver, scrollX is never updated (remains at 0). When I set the native driver to false, the scrollX value becomes a very odd decimal number that changes every time I change slides (meaning a different number when I visit the same slide, for example the first slide starts at 0 but will then be 194.2422222 when I go back to it.).
    Does anyone know how I can overcome this issue?

  • @yanisbenslimane3106
    @yanisbenslimane3106 4 ปีที่แล้ว

    You are a monster lol thanks for the video. Can you make a video how to create an app from scratch with Hooks etc .. ??

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thanks Yanis! I will think about some app that I can build from scratch but right now I am trying to create as much videos as possible with real life animations that can easily be applied to any project. It’s a great suggestion by the way.

  • @adedayo4405
    @adedayo4405 4 ปีที่แล้ว

    Thumbs up man

  • @rapidreasearchyt
    @rapidreasearchyt 7 หลายเดือนก่อน

    cant we do the same thing in react native cli, i mean not in expo?

  • @samidebayroune3478
    @samidebayroune3478 ปีที่แล้ว

    you should make a course about RN animation

  • @oscar_cornejo
    @oscar_cornejo 4 ปีที่แล้ว +1

    👏🏼👏🏼

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว +1

      Thanks Oscar, I’m glad that it helped you!

  • @rohaanansari3116
    @rohaanansari3116 3 ปีที่แล้ว

    Hello Catlin ,
    I have a Query please tell me
    Why have you taken this value
    const inputRange = [(index - 1) * width, index * width, (index + 1) * width];
    in Item and
    this value
    const inputRange = [-width, 0, width];
    in other places
    I'm really confused
    please help me out !!

  • @melissaarias2444
    @melissaarias2444 4 ปีที่แล้ว

    Hey, I'm new here in this channel. I'll subscribe to see whats next!!!!

  • @mohsensoleimani6120
    @mohsensoleimani6120 4 ปีที่แล้ว

    Thank you . Its amazing to learn these stuffs so simple .
    I tried to implement the instagram multi picture pagination indicator but i don’t know how to set the inputs range and output range . Can you provide an example for me ?

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      I can do it, could you please share any animation or a link to the animation itself? I'm not using Instagram unfortunately so I don't know about what animations we're talking about :)
      Thanks a lot!

    • @mohsensoleimani6120
      @mohsensoleimani6120 4 ปีที่แล้ว +1

      @@CatalinMironDev i just find this example patricktran.github.io/react-magic-slider-dots/

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      Mohsen Soleimani I can do it:) I’ll add it to my list for future video tutorials. Thanks for sharing it with me!

    • @mohsensoleimani6120
      @mohsensoleimani6120 4 ปีที่แล้ว

      @@CatalinMironDev How can I ever thank you enough. people like you are not easy to find.

  • @lerigogsadze5816
    @lerigogsadze5816 3 ปีที่แล้ว

    Thanks for this great tutorial. How can we change indicator color based on the color property from the data array? As I know borderColor isn't supported by Animated API, any ideas?

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Unfortunately as you mentioned this is not supported by nativeDriver, so you need to make it false ‘useNativeDriver: false’ and based on scrollX position you can interpolate colors. Thanks Leri, Cheers ✌️

    • @lerigogsadze5816
      @lerigogsadze5816 3 ปีที่แล้ว

      Will the animation be smooth without nativeDriver?

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Just test it out. There are some benefits on using the nativeDriver but you can create another animated value that will not use nativeDriver and use it for color interpolation.

  • @dannylamtoro8447
    @dannylamtoro8447 3 ปีที่แล้ว

    ⭐⭐⭐⭐⭐ Rate

  • @ogulcankarayel5625
    @ogulcankarayel5625 3 ปีที่แล้ว +1

    Thanks for video . I have a question . Why are you using like this const scrollX = React.useRef(new Animated.Value(0)).current instead of const scrollX = new Animated.Value(0); ?

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      The reason is that useRef returns a mutable ref object whose .current property is initialized to the passed argument (initialValue).
      The returned object will persist for the full lifetime of the component. (reactjs.org/docs/hooks-reference.html)
      Thanks ✌️

    • @ogulcankarayel5625
      @ogulcankarayel5625 3 ปีที่แล้ว

      @@CatalinMironDev Thanks

  • @choresportal3865
    @choresportal3865 4 ปีที่แล้ว +1

    you are doing great work my brother. but there is one issue , can you explain more or tell more how we handle the pagination bottom circle . because when i increase the number of items the circles also increase and it did not fit on the right bottoms it expands.

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      In this tutorial I am just showing how to create the animations, nothing more. If you'd like I can tackle this into a separate video, where we a dynamic pagination that support a variable range. Thanks for the feedback Chores ✌️

    • @muhammadalihassan2157
      @muhammadalihassan2157 4 ปีที่แล้ว

      @@CatalinMironDev brother you are doing great work. weldone but i suggest please make pagination dynamic

    • @muhammadalihassan2157
      @muhammadalihassan2157 4 ปีที่แล้ว

      online.fliphtml5.com/vfrai/ysms/#p=1
      Like this way?

  • @cptpackage
    @cptpackage 3 ปีที่แล้ว

    Great video man, but I would recommend if you add a low background lo-fi music as the throat snapping when you are talking is sometimes annoying.

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Thanks for the tip! Do you know at what volume should have the background music to avoid any issues?

    • @cptpackage
      @cptpackage 3 ปีที่แล้ว

      @@CatalinMironDev Well anything lo-fi so it won't distract the viewers and at the same time it will make the long videos more entertaining.

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Cpt Package that’s a great suggestion. I’ll try to apply it on my next video. Please share your feedback afterwards. Thanks a lot ✌️

  • @arwysyah2400
    @arwysyah2400 3 ปีที่แล้ว

    Hi Catalin i was wondering , can React Native hide bottom navigation when scroll? I think header not to be hard , but i dont know how to implement hide bottom navigation when scrolling, hope you get the answer

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      I think it is possible, I have to try it tho but the immediate answer is yes:) thanks Kenzo

    • @arwysyah2400
      @arwysyah2400 3 ปีที่แล้ว

      Thank you so much, hope you want to create a spcial video about it later . 👍

  • @audunhilden
    @audunhilden 10 หลายเดือนก่อน

    good video!
    kind of confusing that you didn't include us in the setup though.. you could've had a better tutorial if you started from scratch

  • @sulemanali8542
    @sulemanali8542 4 ปีที่แล้ว +1

    kindly make some videos in react native without expo and use cli

    • @CatalinMironDev
      @CatalinMironDev  4 ปีที่แล้ว

      This should work the same in plain React Native projects without Expo because I’m using only APIs exposed by react-native package. Did you had issues porting this to a plain react-native project? Thanks in advance Suleman!

  • @ameyauplanchi8341
    @ameyauplanchi8341 3 ปีที่แล้ว

    How to use it with tab navigator?..Btw Great work bro :)

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      Thanks Ameya. I don’t know to be honest. What issues you encounter?

  • @engr.aftabufaq8633
    @engr.aftabufaq8633 3 ปีที่แล้ว

    Hello sir. please create a video of animated drawer.

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว

      I already created a tutorial for a drawer, also integrated in react-navigation v5. Please check my channel. Thanks ✌️

  • @thuanhoangnhat2350
    @thuanhoangnhat2350 3 ปีที่แล้ว

    It’s vip bro :))

  • @matinzd
    @matinzd 3 ปีที่แล้ว

    Totally messed up in android:(

    • @CatalinMironDev
      @CatalinMironDev  3 ปีที่แล้ว +1

      Hi Matin, I don't know exactly what's your issue but here's a preview of it on my Android device (Nexus 5x) streamable.com/yrdb3w.

    • @matinzd
      @matinzd 3 ปีที่แล้ว

      @@CatalinMironDev when I add scale to tranform image the image will go upside down! I don't know why! I thought the problem would be RTL and LTR but it wasn't.

  • @totaltotal157
    @totaltotal157 4 ปีที่แล้ว

    first

  • @yuliantosaparudin
    @yuliantosaparudin 3 ปีที่แล้ว

    I'm fallin in love with you