Great video! Can you guys also make videos on how compose and Architecture Components (Room, livedata & navigation) can be used together? Also, big fan of Nick! Plaid was the app which opened my senses on how UI design development should be done. Great work, y'all!
@@NickButcher Yes I have. It gets easier the more I look into it. I believe by the time this is more stable (1-2 years) the entire way of thinking will make so much more sense. Thanks for the videos, they have been very helpful!
I had to pause and replay this part a few times because it goes fast but it wasn't so hard to understand. @@NickButcher Yet one thing I don't understand in that code is why do you use constraints.minHeight in the layout() call, while you use constraints.maxHeight to vertically center the items? Shouldn't these 2 values be the same?
Great presentation as always. If the animation with the compose is really easy then, do we still need MotionLayout? Already constraint layout with the compose seems overkill compare to XML based.
@@keithkaranu4258 I think you missed the point. Since compose is the new UI toolkit that doesn't use XML and gives developers full control over UI development, the question was will there be a compose equivalent to MotionLayout and if the animation is way easier as they claimed than do we even need MotionLayout.
@@tashi7160 From what I gather because motion layout is xml is easier to develop tooling for. As such I don't think there will be a visual editor for any jetpack compose animations which is one of the main benefits of motion layout. Also keep in mind that even if there is overlap between the two tools it doesn't mean that motion layout is already obsolete. Jetpack compose will be in alpha for a while so for the time being motion layout is probably the go to for any UI that needs to be animated.
Mr. Butcher, I have been trying to create the custom color palette as you mention in the video for three days now. I have literally copied every logic from Jetsnack Sample App Theme, but it JUST DOES NOT WORK. If I copy the Theme.kt from the Codelab, it works, but after scanning through each and every line in my code and the Codelab's, I could find no difference other than the names. Could you please publish an official how-to on this? Thank you,
13:00 Hours struggling because I didn't know how to Alignment.CenterStart the Text Composable, until I realized I could use .wrapContentSize(Alignment.CenterStart). If I had known from the start that I could just use padding and re-arrange the order of my modifier properties to get my Composable completely selected, I'd have done that 😂. I was kind of conscious about the fact that modifier order affects the result, but I didn't know it was up to this extent 😳.
So under the hood the custom layout is same as before? Thats bad, as comparing to SwiftUI this is a huge drawback, it should have been needed to be way simpler. Those measure + layout combo was highly painful things in Pre compose.
How different layouts for different screen sizes or orientations are going to be managed? (Right now if I want a different layout I just need to create a new layout folder with the rules but how will that be managed with Compose?)
'remember' (for this see think in compose video) function will remember state, height and width can be managed using orientation .i.e if(horizontal) 60 else 20
Check out the `WithConstraints` composable. developer.android.com/reference/kotlin/androidx/compose/ui/package-summary#WithConstraints(androidx.compose.ui.Modifier,%20kotlin.Function1)
In this moment that Compose are 1.0.0 version stable, they have changed from ambient to compositionLocalOf, and the @Compose will only works above get() = ...
@@keithkaranu4258 you can't build complex UI with this, in flutter you already have pre-build widget that are 100% customizable for almost all your needs.
@@h3w45 Jetpack Compose already comes with material design and as shown in other videos It's trivial to create more complex widgets from the privatives already provided.
My mind was blown 5 minutes in with the dynamic theme.
So simple, yet so powerful
Really looking forward to these new samples 💯
I think this is the beginning of a new era in mobile development.
Great video! Can you guys also make videos on how compose and Architecture Components (Room, livedata & navigation) can be used together?
Also, big fan of Nick! Plaid was the app which opened my senses on how UI design development should be done. Great work, y'all!
This API looks promising. What I need now is to shake my head and get this right on
Awesome video !
By the way, your codelabs are really nice
Android Team always motivating me to do more and more in android.
Thank You for this video.
Oh boy, I am really excited to use this new animation stuf in stable release
ah yes google releasing more things I'll suck at doing 🤣... joking aside, I am really excited to try these out 😍😍
You lost me on the custom layout logic. Let's hope it gets easier with some more experience and practice!
Sorry if I went too fast, was trying to pack an overview of a lot of things into this video! Have you checked out the sample code?
@@NickButcher Yes I have. It gets easier the more I look into it. I believe by the time this is more stable (1-2 years) the entire way of thinking will make so much more sense. Thanks for the videos, they have been very helpful!
I had to pause and replay this part a few times because it goes fast but it wasn't so hard to understand.
@@NickButcher Yet one thing I don't understand in that code is why do you use constraints.minHeight in the layout() call, while you use constraints.maxHeight to vertically center the items? Shouldn't these 2 values be the same?
Now...I feel Good to be an Android Developer...
Can you talk more about what's going on under the hood i. e. how compose ui is integrated into the current android view layout and draw process?
We will soon!
Absolutely awesome! what about the performance?
This is just amazing
10:16 Flutter devs: Hey wait, I feel like I have seen this before
Thanks
Great presentation as always. If the animation with the compose is really easy then, do we still need MotionLayout? Already constraint layout with the compose seems overkill compare to XML based.
XML isn't going anywhere anytime soon so it's still getting features.
@@keithkaranu4258 I think you missed the point. Since compose is the new UI toolkit that doesn't use XML and gives developers full control over UI development, the question was will there be a compose equivalent to MotionLayout and if the animation is way easier as they claimed than do we even need MotionLayout.
@@tashi7160 From what I gather because motion layout is xml is easier to develop tooling for. As such I don't think there will be a visual editor for any jetpack compose animations which is one of the main benefits of motion layout. Also keep in mind that even if there is overlap between the two tools it doesn't mean that motion layout is already obsolete. Jetpack compose will be in alpha for a while so for the time being motion layout is probably the go to for any UI that needs to be animated.
Mr. Butcher, I have been trying to create the custom color palette as you mention in the video for three days now. I have literally copied every logic from Jetsnack Sample App Theme, but it JUST DOES NOT WORK. If I copy the Theme.kt from the Codelab, it works, but after scanning through each and every line in my code and the Codelab's, I could find no difference other than the names. Could you please publish an official how-to on this?
Thank you,
Guys now the ambientOf is renamed to compositionLocalOf, also, does this JetColorPallette need to extend Colors? It is kinda confusing
13:00
Hours struggling because I didn't know how to Alignment.CenterStart the Text Composable, until I realized I could use .wrapContentSize(Alignment.CenterStart).
If I had known from the start that I could just use padding and re-arrange the order of my modifier properties to get my Composable completely selected, I'd have done that 😂.
I was kind of conscious about the fact that modifier order affects the result, but I didn't know it was up to this extent 😳.
The gravity modifier has been changed to align modifier. You could use Modifier.align(Alignment.CenterStart) now to achieve the effect
damn, this is beautiful
great 😌😌👌🏻
Nice technology. great flexibility
makes the hard things harder!!
So under the hood the custom layout is same as before? Thats bad, as comparing to SwiftUI this is a huge drawback, it should have been needed to be way simpler. Those measure + layout combo was highly painful things in Pre compose.
Hi, Can u do a video using lazycolumn headers with a list of class objects? Thanks!
How different layouts for different screen sizes or orientations are going to be managed? (Right now if I want a different layout I just need to create a new layout folder with the rules but how will that be managed with Compose?)
Ask this on the reddit AMA they have tomorrow. There will be answers to everything there.
'remember' (for this see think in compose video) function will remember state, height and width can be managed using orientation .i.e if(horizontal) 60 else 20
Check out the `WithConstraints` composable. developer.android.com/reference/kotlin/androidx/compose/ui/package-summary#WithConstraints(androidx.compose.ui.Modifier,%20kotlin.Function1)
@@NickButcher Just what I was looking for. Thanks!
cool!!!!
soooo many changesss for android UI and it seems to me compose is more than complex xml system
10:18 I think Stack is now named Box, right?
New things to try. But migration will be painful
This is using the older APIs. Most of these examples will not compile. Now that Beta is released it needs to be updated ...
Many examples won't open in Android studio Canary (Invalid gradle) - How many hours lost!
Compose will be a revolution in android community, lets see Compose vs Swift Ui whose gonna win
Where do we get the slides?
The ambientOf is not present in the beta version
Oh my goodness
that's all i want
In this moment that Compose are 1.0.0 version stable, they have changed from ambient to compositionLocalOf, and the @Compose will only works above get() = ...
There's too much to digest...
Flutter Flutter Flutter :))
ha ha....
Flutter is still better.
Why
@@keithkaranu4258 you can't build complex UI with this, in flutter you already have pre-build widget that are 100% customizable for almost all your needs.
@@h3w45 Jetpack Compose already comes with material design and as shown in other videos It's trivial to create more complex widgets from the privatives already provided.
@@keithkaranu4258 we will see how will it will do.
Can you give an example of a complex UI where Flutter provides an easier solution over Compose?