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!
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' })
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.
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,🙂👍
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 ✌️
@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.
@@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 ✌️
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 ❤️
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🤘
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?
instead of using if statement to check and add view u can directly add view to before an after flatlist using listHeaderComponent and listFooterComponent
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!!
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!
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 ✌️
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?
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 ✌️
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
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
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)
go to his discord I found a solution to this that I posted under help. However, it makes it run slower so theres a hopefully a better solution out there
// Pack Index const [packIndex,setPackIndex] = React.useState(0) const scrollX = React.useRef(new Animated.Value(0)).current const Item_Size = new Animated.Value(ITEM_SIZE) React.useEffect(() => { scrollX.addListener(val => { // Divides Scrollx by the size of each item const x = Animated.divide(scrollX,Item_Size); // Gives index number of each const indexNum= Math.round(Number.parseFloat(JSON.stringify(x))); setPackIndex(indexNum) }); }, []);
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...
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
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!
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?
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.
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?
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!
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?
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.
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.
@@CatalinMironDev I thought you won't answer me lol, thank you much. So the flat list shows from the first index to the last index. What I want is that my flat list shows the middle index when I render it. for example, the flat list will show the first movie (the kissing booth 2 movie) what do I want is to start my flatlist with the middle card like (Greyhound movie) sorry me English is not good, anyway if you don't get my question no problem, I would like to know if you don't pretend to make a course teaching those techniques from beginner to advanced
hi i have Question : setMovies([{ key: 'empty-left' }, ...movies, { key: 'empty-right' }]); what's that mean ?. i tryed to run it but give me tha worng: " Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. "
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!
having issues with this can i speak to you on twitter?
Still not working on Android.
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 ?
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'
})
@@pixelwizardai where did you put useNativeDriver false
This guy is very underrated . He deserves more subscribers .
Prakash D thanks a lot for your kind words, you are awesome ✌️
Agree
Yes
True
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.
Also...
You deserve many more subscribers for this. Thank you for the quality content ☺️
Thank you Sridatta, I’m doing my best to teach as many things as possible and I’m just scratching the surface here:) ✌️
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,🙂👍
Thank you Pradeep! ✌️
This guy deserve to be the top react native teacher on youtube.
This is the best react native content I have ever seen.
Thank you for making awesome tuts for us and inspiring the React Native movement!
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 ✌️
You've gotta get an animations course out man! Awesome stuff, thank you!
Thank you Josh! I'm working on it ❤️
@@CatalinMironDev Can't wait!
@@CatalinMironDev I'm waiting for it dude, awesome work brother
Catalin Miron I also suggested you on Twitter regarding the course.
@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.
this man is directly connected
Thank you very much. I'll share this video with my friends.
So nice of you Akmal, thank you! ✌️
Your explanations are really nice, thanks for a great tutorial
Thank you Cheruiyot! I’m always trying to improve myself ✌️
@@CatalinMironDev That's great, you are so good, how long have you worked with react native?
@@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 ✌️
Thank you very much for your great content. I'm going to watch all your videos. I'm new to react-native.
Glad you like them and welcome to React Native community Ibrahim! ✌️
This interface is out of this world! 🥰🥰
Awesome video, clean code, no complications!
Thank you Aleks. I’m glad that you like it
Hey man, that was a really nice video, and a great learning. Thanks, from Brasil
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 ❤️
very helpful tutorial! I learnt a lot about animations on rn through your videos 👍🏻 thank you...
Finally UA-cam suggested great channel
Great work! By the way you can also add padding to the flatlist contentContainerStyle instead of doing a dummy element.
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 ✌️
You are god of Flat List Animation.
hahaha, thank you ✌️I just wanted to show that it is possible to create awesome stuff with React Native :)
Man... You definitely should make an Udemy course on ReactNative animation...
Nicely done. Thanks for sharing.
Thanks for watching!
Great work! I enjoyed every piece of it.
Bro.. it was amazing..!!! you are PRO
This was awesome, I loved it, super helpful.
Best animation tutorials! Thanks! 👍
Wow, huge thanks Igor ✌️
Thank you from Brazil!
Awesome video, please continue making video like this.
Thank you, I will!
I like the devs who code in IDE with white background.
I actually prefer light themes but currently I am using a dark one which is ok as well: Batman Mono
Nice sir it's really useful love from India
Thanks and welcome
Nice video, thanks for this content !
Thanks keep making videos like this! :D
Thanks Snaaapzter! ✌️
Great work Catalin
Thanks Nikhil!
Great tutorial again. Thank you so much
Uu, thanks a ton Anh ✌️
Just on time! Thanks!
You’re welcome. Thanks for checking out this video ✌️
Awesome tutorial. Thank you!
Thank you Luan ✌️
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🤘
Great suggestion! Thanks a lot Sahil it really means a lot to me to be able to help you! Thanks ✌️
Awesome! Bring more animation videos, you explain very well. +1 sub
Thank you Youssef! There's more to come ✌️
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?
instead of using if statement to check and add view u can directly add view to before an after flatlist using listHeaderComponent and listFooterComponent
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!!
That is awesome! Thank you!
You’re welcome Nicolas, I’m glad that you like it✌️
Perfectly beautiful
or beautifully perfect
Thanks Saeed and I’m glad this helped you ✌️
Man... You're the best!
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!
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 ✌️
@@CatalinMironDev Thanks to you Catalin!
Awesome job again, thanks man.
Thank you Bora, I’m glad you like it ✌️
Very cool. Thank you for this.
Glad you liked it and you're welcome. Thanks Mohd! ✌️
Great tutorial, thanks
Really really good!!!
Thank you so much for showing your support ✌️
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?
Man this is awesome!
Thanks Darshan, I’m glad you liked it ✌️
Thanks, this is the best tutorial
hey hi i really loved your teaching .. got a doubt how to pass props to components in shared element Screen ??
This is very good and I just want to know how you imagin before any animation
Thanks Catalin for this amazing content. By the way when you are starting making content on reanimated 2?
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 ✌️
I hit like before I watch! !
Thank you so much Francis! ✌️
earned yourself a subscriber here!
Grt Job Man 👍👍... You got a new subscriber 🤣
Thank you Rajib!
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
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 ?
Hi, my VSCode theme is Palenight and the font is called Operator Mono. Thanks Stefan ✌️
you have my respect bro!
Thank you so much man.
Happy to help! ✌️
I wonder if I can ever be in where you are in React Native
I'm your new subscriber 😁
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
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
it's so awesome
how can I add auto scrolling to this project?
Boooyaaah!! Lets go! Love you man.
😂 thanks Ade ✌️
awesome 👍 thanks lord
I’m glad that you like it. Thanks Dio ✌️
I’m glad that you like it. Thanks Dio ✌️
please create one video for inshorts kind of animation in react native flatlist
will you also make a video to make this a loop of bidirectional carousel?
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)
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
Hey! It is amazing video! Just have a question. How can I get current index of active item?
/>
Please help. How do I get the index of the active slide?
go to his discord I found a solution to this that I posted under help. However, it makes it run slower so theres a hopefully a better solution out there
// Pack Index
const [packIndex,setPackIndex] = React.useState(0)
const scrollX = React.useRef(new Animated.Value(0)).current
const Item_Size = new Animated.Value(ITEM_SIZE)
React.useEffect(() => {
scrollX.addListener(val => {
// Divides Scrollx by the size of each item
const x = Animated.divide(scrollX,Item_Size);
// Gives index number of each
const indexNum= Math.round(Number.parseFloat(JSON.stringify(x)));
setPackIndex(indexNum)
});
}, []);
@@carlosjacobfield-sierra3759 Thank you very much! I will give this a shot
@Catalin Miron how to achieve dynamic scroll able vertical pager ( tabs ) with lazy effect.
Very good video!
Awesome vids thanks a lot
Thank you Oguzhan ✌️
If I am using a react native reanimated carousel, how can I get the scrollX to work
Awesome. Keep it up.
Thank you Kuldeep, I’m glad you like the video ✌️
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...
I selected same code of yours but background image is not moving . first one stays even i move to next movie
Thank u so much bro! But do u have video tutorial full about your project? I'm beginner. Pls
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
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!
awesome video!!! subscription
Thanks Juri ✌️
Good Afternon can you code also in kotlin in this 16:20 Animate Svg to create the parallax effect part
I'm working on this and we might work together
Can you make a video on Instagram Bottom Sheet Animation using Reanimated 2?
I'd like to see it \o/
I may be dumb but could you please share it with me? I don’t know about what animations you’re talking about. Thanks Hemanth! ✌️
@@CatalinMironDev When you try to DM a Post On Instagram a Sheet Pops up from the bottom.
@@Viruhemanth I'll take a look at it and let you know. Thanks for sharing some inspiration with me :)
@@CatalinMironDev We should Thank you guys for making these amazing contribution to RN community
Brillant 👍👏
How do you stop the carousel so that it won't scroll more than one item per swipe?
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?
How to integrate payment gateway and generate invoice bill after payment
Awesome! iOS works fine, but,
why is the backdrop component so slow on android?
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.
@@CatalinMironDev Thanks! I didn't see the reference, sorry.
This tip is worth two coffees
@@666thales666 Thank a lot Thales and I'm happy this worked for you. Thanks for the coffees in advance ❤️
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?
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!
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?
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.
Good job 👏👏. Please make udemy course about react native animation from scratch. I think it will best course ever
Thanks!
can we have active index in this?
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.
Bro you are the best.
Can you help me out to figure out how to make my flatlist to
show the center card and not the first one?
So you'd like to have a gap at the beginning of the list or you'd like to have the first item starting from the left? Thanks Mustafa! ✌️
@@CatalinMironDev I thought you won't answer me lol, thank you much.
So the flat list shows from the first index to the last index.
What I want is that my flat list shows the middle index when I render it.
for example, the flat list will show the first movie (the kissing booth 2 movie) what do I want is to start my flatlist with the middle card like (Greyhound movie)
sorry me English is not good, anyway if you don't get my question no problem,
I would like to know if you don't pretend to make a course teaching those techniques from beginner to advanced
@@mustafa-pt3sy here's the solution:
// Change initial scrollX and backdropAnimated to they will start from initialIndex value
const initialIndex = 1;
const scrollX = React.useRef(new Animated.Value(initialIndex * ITEM_SIZE)).current;
const backdropAnimated = React.useRef(new Animated.Value(initialIndex * ITEM_SIZE)).current;
// FlatList props add this props
initialScrollIndex={initialIndex}
getItemLayout={(data, index) => ({
index,
offset: ITEM_SIZE * index,
length: data.length
})}
hi
i have Question : setMovies([{ key: 'empty-left' }, ...movies, { key: 'empty-right' }]);
what's that mean ?.
i tryed to run it but give me tha worng:
" Error: Too many re-renders. React limits the number of renders to prevent an infinite loop. "
I actually explain why I’m doing this in the tutorial. This is mainly because I’d like to have the initial and last item in the middle of the screen.