No video

Build Complex Animations With MotionLayout in Jetpack Compose - Android Studio Tutorial

  Рет қаралды 34,222

Philipp Lackner

Philipp Lackner

Күн бұрын

MotionLayout is an extended version of ConstraintLayout used to build amazing transition effects and animations. Now it's also available for Jetpack Compose.
This video will tell you all the details and how you can use it for practice.
⭐ Get certificates for your future job
⭐ Save countless hours of time
⭐ 100% money back guarantee for 30 days
⭐ Become a professional Android developer now:
pl-coding.com/...
Subscribe to my FREE newsletter for regular Android, Kotlin & Architecture advice!
pl-coding.com/...
Join this channel to get access to perks:
/ @philipplackner
Get the source code for this video here:
github.com/phi...
Join my Discord server:
/ discord
Regular programming advice on my Instagram page: / _philipplackner_
Checkout my GitHub: github.com/phi...
You like my free content? Here you can buy me a coffee:
www.buymeacoff...

Пікірлер: 92
@paulrmoss
@paulrmoss 10 ай бұрын
I watched the video, made notes, then wrote some code to implement with my own transitions and it worked!!!! 100% pure wow!!!!!
@54cardspeter80
@54cardspeter80 Ай бұрын
I made the column clickable, and animated the progress value with LunchEffect. Thanks for all the knowledge.
@Wiggy90210
@Wiggy90210 Жыл бұрын
I don't know how I missed this lesson, it gives so many possibilities. Thanks for the great content, it really helps at developing my skills 🙏
@faysaldeve385
@faysaldeve385 2 жыл бұрын
Hi Philipp, you are very cool and I enjoy your amazing lessons so much. Thank you for teaching us so many things and I love your beautiful voice. So I hope you reach 100 million subscribers on KZfaq.
@PhilippLackner
@PhilippLackner 2 жыл бұрын
🙏❤️
@yehiaahmed7047
@yehiaahmed7047 2 жыл бұрын
super great video as well , i expect that from you as a huge android video content creator keep going by the way and still supporting you more and more thank you again
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks man❤️
@Naar0x
@Naar0x 2 жыл бұрын
Hats off to my man out there in south africa enjoying the sun but still managing to drop bomb tutorials
@PhilippLackner
@PhilippLackner 2 жыл бұрын
🙏❤️
@JohanAlbrectsen
@JohanAlbrectsen 2 жыл бұрын
Best android guy on KZfaq!
@PhilippLackner
@PhilippLackner 2 жыл бұрын
❤️
@crateer
@crateer 2 жыл бұрын
Sometimes it's like magic, exactly what I was thinking about this morning, and now you post a video about this 😂🔥
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Just for you bud
@MohammadArif-gn7gr
@MohammadArif-gn7gr 2 жыл бұрын
Amazing job, as always.
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks mate
@tanjimahmed213
@tanjimahmed213 2 жыл бұрын
Didn't finish watching the whole video but i think it's awesome
@nipunkumarit2168
@nipunkumarit2168 2 жыл бұрын
Really need this tutorial thanks Phillip
@ubersticks
@ubersticks 2 жыл бұрын
Excellent Philip! That was fun.
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks, glad you liked it!
@fournonblondes4089
@fournonblondes4089 2 жыл бұрын
All code I can repeat, it is great! Many teachers can't show like you.
@raheemadamboev
@raheemadamboev 2 жыл бұрын
Thank you bro, you are the best! Luck to have you on our side!
@AndrewDChristie
@AndrewDChristie 2 жыл бұрын
love these videos, something new too, I always learn something and philipp does it so well
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Glad you like it! 🙏
@dhaiach4249
@dhaiach4249 2 жыл бұрын
Man your content is amazing, please keep it up!
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks!
@osisuper98
@osisuper98 2 жыл бұрын
You are unbelievably awesome!
@amirnaderlo3045
@amirnaderlo3045 7 ай бұрын
it was comprehensive, Thank you! 🙏
@k4ba
@k4ba 2 жыл бұрын
Bro... This is gold
@vinaykumarpatel649
@vinaykumarpatel649 8 ай бұрын
You're great, Thanks for sharing.
@user-uz3zo3vj6k
@user-uz3zo3vj6k 2 жыл бұрын
Thank you philipp as always
@sohaibkhan3279
@sohaibkhan3279 2 жыл бұрын
Great Explanation as always.
@nizamuddinahmed9165
@nizamuddinahmed9165 2 жыл бұрын
As always learnt something new
@terencejumba1939
@terencejumba1939 2 жыл бұрын
Thanks the content is amazing, animations just got easier🥳🥳
@johannespielmeier8891
@johannespielmeier8891 7 ай бұрын
Thx such a nice video :)
@SiamakAshrafi
@SiamakAshrafi Жыл бұрын
Very nice! Thank you
@cristianovecchi
@cristianovecchi 2 жыл бұрын
Very cool, thank you!
@Ilamarea
@Ilamarea Жыл бұрын
Would be cool if you showed us how to do this with constraints in Kotlin, particularly how to do transitions separately in Json.
@alonshlider4881
@alonshlider4881 2 жыл бұрын
Hi Philip! Why would you bother using MotionLayout as you can animate anything using Compose built in animation? Using MotionLayout into Compose is, as far as I understand, more of an interoperability solution than a functional solution as you can achieve the same results using Compose animation.
@captainallergy3654
@captainallergy3654 2 жыл бұрын
Do you have an example on how this can be achieved?
@John-qt6qk
@John-qt6qk Жыл бұрын
Give us a link mate
@jeepaholic326
@jeepaholic326 Жыл бұрын
@@captainallergy3654 val crs = rememberCoroutineScope() val density = LocalDensity.current val posX1 = remember { Animatable(initialValue = 0.5f) } var sliderX1 by remember { mutableStateOf(0.5f) } Slider( sliderValue = sliderX1, onValueChanged = { sliderX1 = it; crs.launch { posX1.animateTo(it) } }, ) YourComposable( modifier = Modifier, centerX = with(density) { (yourComposableSize.dp.toPx() / 2) * sliderX1 }, ) roughly.
@John-qt6qk
@John-qt6qk Жыл бұрын
Thanks mate,
@somoul7474
@somoul7474 Жыл бұрын
Thank you from video .
@mdisi5967
@mdisi5967 2 жыл бұрын
Great Video !
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks!
@rpitpatel1004
@rpitpatel1004 2 жыл бұрын
Great tutorial Sir, Can you make tutorial for motion layout with collapsing toolbar.
@marciorodrigues2727
@marciorodrigues2727 10 ай бұрын
Great video as always Phillip! Quick question : in XML based MotionLayout it was passible to define multiple transitions and trigger them individually, How can we manage multiple transitions in one scene in Compose using the json5 approach?
@mustafaammar551
@mustafaammar551 2 жыл бұрын
very cool video thank you bro👍👍👍
@PhilippLackner
@PhilippLackner 2 жыл бұрын
You're welcome!
@abdelazizyasser3512
@abdelazizyasser3512 2 жыл бұрын
Thank u so much, i used motion layout in case of list and custom-toolbar, when scroll down into the list , the toolbar still shown. but not in jetpack compose
@winsonmac
@winsonmac 2 жыл бұрын
Nice! Tyvm
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Welcome
@harisai3580
@harisai3580 2 жыл бұрын
Good evening sir
@bro_chenzox
@bro_chenzox 2 жыл бұрын
Thanks!
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Welcome
@Chirag-Redij38
@Chirag-Redij38 8 ай бұрын
Any idea how to integrate this with a column so to expand this with scrolling.
@andrewizquierdo5944
@andrewizquierdo5944 4 ай бұрын
Great video, thank you! Is there a way to do something similar but with a lazygrid item animating to a full screen item? basically if we have a lazygrid, and user taps on an item, we want that one item to animate from wherever it is on the screen to be centered and full screen. i feel like motionlayout is what i need, but the "start constraints" is hard to figure out since the starting position of this lazygrid item can be anywhere on screen.
@francescofreddi4374
@francescofreddi4374 2 жыл бұрын
in your What Is Clean Architecture course that i bought i need help, because initial branch dont start anymore... and i dont know how to solve... there is something like: ComposeOptions.kotlinCompilerVersion is deprecated. Compose now uses the kotlin compiler defined in your buildscript. I am new in Compose and cannot repair ThankYouuu
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Thanks for letting me know, I will check this today or tomorrow 👍
@ericgacoki2225
@ericgacoki2225 2 жыл бұрын
I faced a similar issue a while ago! You can resolve this by updating compose version in the build.gradle(Project) file. Something like this: buildscript { ext { compose_version = '1.1.1' } } Set the same version for the compose compiler in the build.gradle(Module) file: composeOptions { kotlinCompilerExtensionVersion compose_version } Hope this helps 😎
@francescofreddi4374
@francescofreddi4374 2 жыл бұрын
@@PhilippLackner 8 secondi fa Now funcitons.... today go very well without touch nothing! excuseMe Philips
@francescofreddi4374
@francescofreddi4374 2 жыл бұрын
@@PhilippLackner Migrating to Gradle kotlin DSL: is too much difficult to UNDERSTAND for who dont know architecture like me :(.... Have you got some basic video? I need understand difference about Groovie and Gadle DSL first...
@hxrin3748
@hxrin3748 2 жыл бұрын
damn, so we are now using JSON for UIs too? 💀
@PhilippLackner
@PhilippLackner 2 жыл бұрын
Just motionlayout
@yusufibragimov1667
@yusufibragimov1667 Жыл бұрын
Hi Philipp, it is very good video and I have one question, we how to change custom textColor in KeyAttributes. I can do it in XML but I can't do it with json5
@aminelahrim8142
@aminelahrim8142 2 жыл бұрын
Flutter: compex Pfff. 😑 I like your content btw 😉
@alihosseinnezhad2957
@alihosseinnezhad2957 2 жыл бұрын
I wanted to create some thing like this with lazy column using nested scroll in my app but velocity tracker in compose has an issue , when I change offset of lazy column by scroll delta, every point add to velocity tracker has same offset so velocity approximately is zero . :(
@hugosalazar6911
@hugosalazar6911 2 жыл бұрын
nice ;)
@annonymoussi7145
@annonymoussi7145 Жыл бұрын
I'm not sure if I'm stupid or what, but what is the parent of the box here? Isn't it supposed to be the column? It constrains the column from the start, end, and top. However, when it gets to the bottom, it is linked to the profile pic! Could someone please clarify?
@AmanKumar-sm2gi
@AmanKumar-sm2gi 7 ай бұрын
Hi i need a help. I want to implement something similar like adobe scan resize image based on document size a4,a5 how to do that?
@085-vaibhavgusain9
@085-vaibhavgusain9 2 жыл бұрын
Can’t use composable annotation giving me an error
@user-oi5db9re6v
@user-oi5db9re6v 10 ай бұрын
Do you have any guide with using swipe instead of a slider?
@_AG8
@_AG8 2 ай бұрын
How to do it with scrolling
@user-pf2hl8ei1s
@user-pf2hl8ei1s 2 жыл бұрын
How does it link to LazyColumn? I used NestedScrollConnection, but it didn't work out as well
@codingcosmos7010
@codingcosmos7010 Жыл бұрын
How can I change fonts size too with animation..?
@Hoti-ta
@Hoti-ta 2 жыл бұрын
Does there any motion layout visual tooling added for compose already?
@bohdanmelnyk118
@bohdanmelnyk118 2 жыл бұрын
Hi. Does Jetpack Compose have the alternative of CoordinateLayout?
@dikenmhrz3902
@dikenmhrz3902 2 жыл бұрын
How to make composables below motion layout move up and down with respect to motion layout changing its size?
@aldaricJohnes
@aldaricJohnes 2 жыл бұрын
Also wonder the proper way to size the motion layout
@arctan-k
@arctan-k 2 жыл бұрын
Is motion layout available for multiplatform?
@pierremarais7669
@pierremarais7669 2 жыл бұрын
Hi Philipp, I am a IOS developer, I want to rewrite my app for Android devices using Kotlin, where do I start with your videos, my App will have sqlite DB which is currently 80Mb and I want the users to request data from the DB, there will be no add to DB functions, only read, any starting point from your side, please, thanks
@PhilippLackner
@PhilippLackner 2 жыл бұрын
If you know nothing about kotlin and Android start with kotlin newbie to pro and Android fundamentals. Then watch a video that covers room databases, for example my recent parking spot saver apl
@Mohit-il9gx
@Mohit-il9gx 2 жыл бұрын
Why I think we are killing flutter each time android gets an update
@janosszabo98
@janosszabo98 2 жыл бұрын
The transition (coding window to presenting the app and back) is quite annoying when over used like this.
@ElCreativeZ
@ElCreativeZ 2 жыл бұрын
what's the name of the theme you're using in android studio?
@maskedredstonerproz
@maskedredstonerproz 2 жыл бұрын
pretty sure that's what android studio dark theme looks like on a mac by default, if it wasn't, his android studio look wouldn't have changed when he got the mac
@safionweb
@safionweb Жыл бұрын
Compose disappointed me here. 😞
@jamjrarinte
@jamjrarinte 2 жыл бұрын
This was easier in xml...
@EmanNollase
@EmanNollase 2 жыл бұрын
this is awesome! btw, can you make a video on how to accomplish this -> kzfaq.inforwjowwhFBmw , basically it is a collapsible parallax image, now instead of text it can be a list when scrolls ups the image disapper (or header component) and when scrolls down it appear again. thanks!!
@Wiggy90210
@Wiggy90210 Жыл бұрын
I think you could do it even easier than Philip's example. You just specify start and end height of a box, width as 'spread' and set mask on top of image on which you change alpha. You can set your last visible item as your progress. Not sure if there's alpha parameter but I gues it should be available.
@voyci7672
@voyci7672 Жыл бұрын
Animating the texts color via properties doesn't work anymore. As soon as I try to move the slider, an error occures with the following message: "java.lang.IllegalStateException: You must call layoutWithConstraints first".
Full Guide to Jetpack Compose Animations - Android Studio Tutorial
28:23
SPILLED CHOCKY MILK PRANK ON BROTHER 😂 #shorts
00:12
Savage Vlogs
Рет қаралды 46 МЛН
The Joker saves Harley Quinn from drowning!#joker  #shorts
00:34
Untitled Joker
Рет қаралды 65 МЛН
SCHOOLBOY. Последняя часть🤓
00:15
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 13 МЛН
Gestures in Jetpack Compose
31:33
Android Developers
Рет қаралды 22 М.
The ULTIMATE Guide to Sharing Data Between Screens in Jetpack Compose
24:08
How to Build a Calculator with Jetpack Compose - Android Studio Tutorial
43:24
SPILLED CHOCKY MILK PRANK ON BROTHER 😂 #shorts
00:12
Savage Vlogs
Рет қаралды 46 МЛН