As a little addition, in case you also want to migrate your XML theme to Compose: 1. All you really need to do for that is to create the theme-specific Compose files you already get in any new Compose project (Type.kt, Shapes.kt, Colors.kt, Theme.kt). You can just copy these over and adjust based on your theme. 2. Then, in every ComposeView in your project, you use YourAppTheme { ... } as the root wrapper. That's it.
@halvtysk2 жыл бұрын
I was just about to ask about these details, as this was the thing that was the most time-consuming for me when I started migration. Understanding how to setup typography-classes took some time, and, to be honest, I'm still not sure if I'm handling theme:ing the correct way, or if I'm simply relying on colorResources, etc too much. These details (from a migrating perspective as opposed to a "start from scratch"-approach) would be interesting to see your take on.
@saurabhyadav-sz9rx2 жыл бұрын
In my firm, we are now migrating our code from XML to Compose. This video is really helpful. Kudos!
@Camlon2 жыл бұрын
Thanks for the video. I have been working with migrating XML to compose views for some time, and I prefer to pass the findNavContoller() function to the composable. Then I can create a channel that will be consumed by a shared composable. That means no callback functions to the fragment, it looks more similar to a pure compose screen and just a single line for each screen to allow navigation, toast, pop with arguments, etc. Also, a simple way to add all compose dependencies is to right-click on the project and tap New -> Compose -> Empty Compose Activity.
@aokruan2 жыл бұрын
Thank you for this video. The most important information.
@pumaelgatosiberian50472 жыл бұрын
Hi Philipp, why you use lateinit var compose view? you can do like that View = ComposeView(requireContext()).apply { setContent {} } in onCreateView
@mariumbegum73252 жыл бұрын
Great to see an insightful tutorial
@xCrawfly7 ай бұрын
This is the only video tutorial from the jetpack compose series that I couldn't finish :( I got tons of gradle errors just at the last step, I assume it's because the dependencies versions have changed (even tho I replaced those by the more recents). I think I'll just try it with a newer video tut. Anyway, Thanks Philipp!
@benchakalaka2 жыл бұрын
Extremely useful! Thank you
@SachinKumar-nb3pg2 жыл бұрын
Hey Philipp, Thank you so much for this great video. But you forgot to add composeView.setViewCompositionStrategy(DisposeOnViewTreeLifecycleDestroyed) inside the fragment which helps composeView to dispose its's composition when the view's lifecycleowner is destroyed.
@chrislagos443 ай бұрын
Ok how can i compare the lioading time and performance of my xml views before and after migration
@azamat01802 жыл бұрын
could u please make tutorial about baseline profiles?))
@greenvoice282 жыл бұрын
Thanks Philipp!
@2chotti3 ай бұрын
Thank you
@nomugop80172 жыл бұрын
excellent, as always
@nipunkumarit21682 жыл бұрын
I have a silly point but I think it's important, When you have to apply a sound on every button clicked in your app, what should the best approach to this.
@asadullahilyas2 жыл бұрын
Create a Composable function, with a click callback. In that composable, create a button. On clicking that button, play the specific sound and after that, call your callback that you passed in this composable function.
@nipunkumarit21682 жыл бұрын
@@asadullahilyas cool
@user-dealcart Жыл бұрын
@Philipp can you help me understand this XML code?
@mustafaammar5512 жыл бұрын
you are the best👌👌
@ИльяШелковенко2 жыл бұрын
Hi Philipp, thank you for your content. Can you tell, what theme exactly do you use in your android studio?
@PhilippLackner2 жыл бұрын
Xcode dark
@samstoyroom2 жыл бұрын
Can you make a video about how to handle Lifecycle event in compose? Thanks!
@AhmedAli-ld6en2 жыл бұрын
Perfect As Always
@PandaTop.2 жыл бұрын
What kind of theme do you have in Android Studio? P.S. Thank you!
@PhilippLackner2 жыл бұрын
Xcode dark
@daniyar27182 жыл бұрын
Thanks 👍
@2chotti3 ай бұрын
Briliant
@maximooze31962 жыл бұрын
Another Like from me, even though I dont need this, because Im a "guru". 🤣 jk @Philipp, another good content!
@Rohan_is_discovering Жыл бұрын
can I convert my whole JAVA android project to jetpack compose..?
@PhilippLackner Жыл бұрын
By completely rewriting it in Kotlin
@aymenebenguedouad31802 жыл бұрын
Can you give us sources to learn Android compose
@josua_htp2 жыл бұрын
hi philipp, thanks for your tutorial videos because it really helps! if i may ask you one thing, please create one video on how to learn programming really fast. a short video is good too. thank you 🙏
@sebastianseno92852 жыл бұрын
it's still painful to see UI preview in compose.
@coffeedude2 жыл бұрын
Yep
@sebastianseno92852 жыл бұрын
@@coffeedude I hope they added hot reload flutter like in compose
@nijuyonkadesu2 жыл бұрын
XML to Compose Migration: 1. 𝙵𝚛𝚊𝚐𝚖𝚎𝚗𝚝𝙵𝚒𝚛𝚜𝚝.𝚡𝚖𝚕's equivalent is 𝙵𝚒𝚛𝚜𝚝𝚂𝚌𝚛𝚎𝚎𝚗.𝚔𝚝 2. Define UI using composable along with state, viewmodel / action, onClick function 3. Set up compose view in fragment, define onclick fns, observe viewModel, pass it to composable
@atikurrahamanshakur81382 жыл бұрын
I really don't like this declarative approach of building UI. When flutter came out with this approach I was really exited. But really didn't like it. I tried flutter multiple times but didn't really like it. Same thing is happening with compose. Anyone else can relate?
@Ericblessedchild2 жыл бұрын
I didn't like flutter too at first , however it's more simple than using XML , optimised flutter UI is way faster than XML , easily reusable and also has minimal lags while building large scale apps, In terms of hardware access I don't like flutter .
@nijuyonkadesu2 жыл бұрын
I'm only irritated when dealing with edge cases, it reminds me of CSS a bit,.. or like while I think something and when put them as code, output would be different.. then go back and edit
@alokeshnath42692 жыл бұрын
Hey Philipp Please help me or anyone who know the answer; I have got this error in google internal testing "" Error in java.lang.AbstractMethodError: abstract method "void androidx.test.internal.platform.ThreadChecker.checkNotMainThread() "" I have search all over the internet but didn't get the solution please help me...🙏🙏