- 139
- 57 138
Esli Rodrigues
เข้าร่วมเมื่อ 28 ก.ย. 2013
Channel to share some codes
Camera Video - Jetpack Compose
Github Code: github.com/Eslicdm/Tutorials/commit/917fa7da719f437de1d8e32aeac2c95fd8878b71
มุมมอง: 8
วีดีโอ
Photo Picker - Jetpack Compose
มุมมอง 5114 วันที่ผ่านมา
Github Code: github.com/Eslicdm/Tutorials/commit/70785d737a30e7d4d2d90a73fcf6bde010894326
Camera Capture - Jetpack Compose
มุมมอง 7121 วันที่ผ่านมา
Github Code: github.com/Eslicdm/Tutorials/commit/1278b1280948b39ae3f2d58ab98fd00cca7ae1cf
Migrate to Kotlin 2.0, Compose Compiler, KSP - Jetpack Compose
มุมมอง 134หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/ecf90fdb2228467b84a0c72db70a2a6bec281f3a
Flip Animation - Jetpack Compose
มุมมอง 148หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/47d6bdadb440490e4a8426b82c9ca810f06845ec
#1 Navigation Test - Jetpack Compose
มุมมอง 44หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/512aa2a2612eee0f04288a64b2b90ce242f86500
#2 Navigation - Jetpack Compose
มุมมอง 95หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/78ef6d07c367aecaadbbb9fbff1d40a153492aa5
#1 Zoom - Jetpack Compose
มุมมอง 1262 หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/815b267eaf06b0cd900a30834504190364c21026
#1 Permissions - Accompanist - Jetpack Compose
มุมมอง 1262 หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/1af902d4c83cf85793e98de54b183536ed534c5d
Lifecycle - Jetpack Compose
มุมมอง 2062 หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/5525fc2e78f279facc17c689024edde136a551fc
#1 Box Rotation - Jetpack Compose
มุมมอง 702 หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/4fbdd2ec21cf02d6bc4bf2d238352b7f7ce2ef1c
Firebase Device Emulator - Android Studio - Jetpack Compose
มุมมอง 892 หลายเดือนก่อน
Firebase Device Emulator - Android Studio - Jetpack Compose
Gemini AI - Android Studio - Jetpack Compose
มุมมอง 923 หลายเดือนก่อน
Gemini AI - Android Studio - Jetpack Compose
Zoom - Jetpack Compose
มุมมอง 1243 หลายเดือนก่อน
Github Code: github.com/Eslicdm/Tutorials/commit/1192e992fc47b0b67f5a087e96c553424d952676
#2 Swipe Animation with Anchored Draggable - Jetpack Compose
มุมมอง 3234 หลายเดือนก่อน
#2 Swipe Animation with Anchored Draggable - Jetpack Compose
Shimmer Effect Animation - Jetpack Compose
มุมมอง 3515 หลายเดือนก่อน
Shimmer Effect Animation - Jetpack Compose
#1 Swipe To Dismiss - Jetpack Compose
มุมมอง 1466 หลายเดือนก่อน
#1 Swipe To Dismiss - Jetpack Compose
Version Catalogs - How to Organize Versions - Jetpack Compose
มุมมอง 1306 หลายเดือนก่อน
Version Catalogs - How to Organize Versions - Jetpack Compose
This is a complementary source to the Google documentation. I recommend everyone watch this video after reading the official documentation, as it clarifies a lot of things.
Nice, and it's a little easier to implement the swipe with this updated video: th-cam.com/video/uQP_Lon-Abk/w-d-xo.html
Good
i like your video its best pleaze more vodeos
Tor babar matha
Thank you very much
gracias
One doubt, in my plugin is alias how to change id
In this video I use alias inside plugin with id: th-cam.com/video/XM68dDBS_BY/w-d-xo.html&ab_channel=EsliRodrigues
Hi sir
thx a lot
Thanks man.. Keep making them.
Thanksss
Thanks for this video
I refer to your channel a lot when making UI as a beginner. I've wanted to say "thank you".🫡
simple and humble
Very useful. Nice approach of using anchor draggable for implementing swipe to reveal.
can you do one for rotation using one pointer/finger?
Yes, is possible using detectGestures like in this video: th-cam.com/video/9vwCYdZ3BMc/w-d-xo.html&ab_channel=EsliRodrigues In the next week I'll send a video about rotation with pointerInput/detectGestures.
can w not to swipe all the way ? thank you for the tutorial
Yes, you can use the confirmValueChange and change the positionalThreshold
thx so much for that example
your tutorials are great
Oi, mano, você foi mencionado nesse vídeo, olha que top m.th-cam.com/video/tSlE-OfCV40/w-d-xo.html&pp=gAQBiAQB
Valeu por avisar. Eu não conhecia esse canal, mas parece ter um conteúdo bom, vou me inscrever.
Great video...I like it..
Very nice code. Thank you very much for the lesson
Thanks man, I've been trying to understand this issue for a long time.
Is there not a setting for how far the slide is? lol I'm bewildered that this is this difficult to do.
In SwipeToDismiss isn't possible to stop the slide at a value different than DismissValue, so you can't stop in the middle. What you want is the "SwipeToReveal", so you can use the Swipe animation in some box like in this video: th-cam.com/video/bZoRr9tTYBQ/w-d-xo.html&ab_channel=EsliRodrigues I think in the next month I'll make a video about "SwipeToReveal".
Here is the SwipeToReveal how I said: th-cam.com/video/ngzEu-vUM7g/w-d-xo.html&ab_channel=EsliRodrigues I tried to make simple and similar to SwipeToDismiss.
Thanks man❤
thanks 😍
good video thanks
Very nice. Just essence for understanding. Keep going creating such short tutorials. I'm tired of watching 15-20 min tutorials just to understand two lines of code.
I didn't understand anything with this explanation
Is pretty simple, is just a map(key, value). In edit you use the key and change the value, and you read the value getting the key. And the most common usages are for users preferences like change theme or sound volume, like this video: th-cam.com/video/JAMuaaJwVjw/w-d-xo.html&ab_channel=EsliRodrigues For more information always read the documentation: developer.android.com/topic/libraries/architecture/datastore#prefs-vs-proto
simple , yet what i was looking for , how can i set the compose version to be able to use this ?
I was using: kotlinCompilerExtensionVersion = "1.5.3" and implementation("androidx.compose.foundation:foundation:1.6.0-alpha08")
But you can see the current versions that I'm using now in: github.com/Eslicdm/Tutorials/blob/master/gradle/libs.versions.toml
Esli boa tarde, tudo bem? Eu gostei muito do vídeo porém fiquei com uma dúvida, eu estou fazendo um projeto multi módulos. Eu poderia criar um módulo para guardar as versões do meu app de todas libs, sdk e etc, e depois chamar por funções dentro dos gradles kts?
Já existe algo parecido, se chama Version Catalogs. É um arquivo que você coloca todas as versões e depois pode chamar cada versão nos gradles. É o novo padrão do google para apps multi módulos e multi plataformas. Eu iria postar um video sobre Version Catalogs daqui uns meses, mas vou postar hoje pra ajudar você. E na semana que vem eu posto um video sobre modularização com version catalogs, mas se você quiser pode se adiantar e olhar esse commit: github.com/Eslicdm/Tutorials/commit/346b388443c31584fe929b1bc368df0c6c548d24
Aqui o video sobre Version Catalogs: th-cam.com/video/XM68dDBS_BY/w-d-xo.html&ab_channel=EsliRodrigues
@@eslirodrigues777 cara muito obrigado! Vou dar uma assistida, era isso que eu tava procurando
Oi, mestre tem como você fazer um video mostrando como formatar um input para moeda brasileira? por exemplo: - o input comeca assim: R$ 0,00 - digitei 4 R$ 0,04| digitei 2 R$ 0,42| digitei 5 R$ 4,25| e etc... Tô tentando fazer isso, mas tá difícil demais. E minha ideia é migrar um aplicativo de react native para o jetpack compose, mas enquanto não tiver um sistema de formatação de moeda no compose, aí não tem como
Não pretendo fazer um video pois tem como usar o antigo como base, mas eu fiz o código, tenta ajustar do jeito que você quiser: github.com/Eslicdm/Tutorials/commit/e20a97d165bf20eac7ac6836ec35e7adbf9e639f
@@eslirodrigues777 como vc conseguiu assim tão rápido? Kkkk tô a dias nisso, vou só terminar meu trabalho aqui
@@eslirodrigues777 não tá funcionando certinho não. Tá aceitando no máximo 3 numeros. por exemplo: R$ 5,55 não tá dinamico não. Era para ser capaz do usuário ir digitando números a vontade e ir formatando. - por exemplo, o usuário digita 23456789 no input ficaria R$ 234,567.89
Não tinha aparecido sua mensagem pra mim. Ah a forma que você me explicou deu a entender que você queria aquele formato fixo R$ X,XX Conseguiu fazer ou quer ajuda?
@@frajola_br Tentei fazer com um número maior, só que tem alguns bugs por causa do cursor offset (enableCursorMove=true), tem alguns momentos que ele pula 2 chars e nem com offsets específicos é arrumado (quase que um bug inconsertável). Tem também outro bug com o valor prefixo "000", que o cursor se move quando o usuário apaga o valor 0,00. Única forma que eu não vi nenhum bug, foi sem o prefixo (ou ter o prefixo e poder apagar depois) e sem o movimento do cursor (enableCursorMove=false). A forma que você quer (eu acho que é igual a do ..bcb gov br/conversao), eu não consegui fazer totalmente sem bugs e nem sei se é possível, mas se você conseguir, compartilha aqui ou comenta no tutorials github. Vou gravar um video sobre esses conversores depois, talvez alguém consiga resolver. Aqui está o código do Github: github.com/Eslicdm/Tutorials/commit/4dc7358dd3d63b5715f1d181f61f395d76e3e420
Thank you very much! This will come in handy
Thank you for help bro
Great job, I wish if have a good mic
thanks Esli, the video is really useful
there is the difference between both of them? or it's just like we have to migrate from kapt to ksp?
Kapt is more for convert kotlin to java, so it's not handle some kotlin features very well and generate code slower. KSP analyzes kotlin code better, can be used with other platforms and build 2x faster than Kapt. Kapt is in maintenance and it's recommended to migrate to KSP.
@@eslirodrigues777 it works, thanks so much
This is good. Thank you
After watching so many videos, i cant believe it's a 1 minute 9 seconds video that got it done for me, lol. Thanks
I couldn’t understand how it works for a very long time and mostly people showed their own examples, but your example helped me finally understand how it works
Nice, there's another video about State: th-cam.com/video/zVoVeAdLOqQ/w-d-xo.html&ab_channel=EsliRodrigues
Make a video showing how to create a mask input like (xx) xxxxx-xxxx
I kinda have a video about that. In the TextField onValueChange parameter you can make text changes and enable or disable the mask using visualTransformation. TextField: github.com/Eslicdm/Tutorials/commit/71f8d070b31aed751e98e6a009380f57f2c12053 -- th-cam.com/video/ZOOqiBv1bGc/w-d-xo.html&ab_channel=EsliRodrigues
@@eslirodrigues777 you only have used Visual Transformation for password, but in the documentation shows how to do that. But I didn't find any place teaching how to mask input like (xx)xxxxx-xxxx or even mask for currency like 27,64
Here's the video about this input mask: th-cam.com/video/uS9NtULsHFI/w-d-xo.html&ab_channel=EsliRodrigues Github Code: github.com/Eslicdm/Tutorials/commit/24ad14b6c4a227cff1d253cd8a98f2c35569de40
what state management is used in Android I come from background of Flutter where we use sate management like Provider, River Pod, Bolc etc.
Basically is used a data class or a sealed class/interface that contains the states and events, and we can manage them in the ViewModel using MutableStateFlow and some functions extensions like stateIn, stateFlow, etc. We collect the state in UI Screen using collectAsState. Here are some links that may help: Savedstatehandle: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/savedstatehandle/ui ---- th-cam.com/video/tB14BMkm5sI/w-d-xo.html&ab_channel=EsliRodrigues StateFlow with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_stateflow_viewmodel ---- th-cam.com/video/zVoVeAdLOqQ/w-d-xo.html&ab_channel=EsliRodrigues --- th-cam.com/video/r5qi5PW8q-A/w-d-xo.html&ab_channel=EsliRodrigues State Events with ViewModel: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/state_user_event_viewmodel/ui ----- th-cam.com/video/HgSStRRA0D0/w-d-xo.html&ab_channel=EsliRodrigues Retrofit HTTP API: github.com/Eslicdm/Tutorials/tree/master/app/src/main/java/com/eslirodrigues/tutorials/retrofit_api -------- th-cam.com/video/8x99cmocNTI/w-d-xo.html&ab_channel=EsliRodrigues
Very useful.
Vlw mano, salvou minha vida
Thank you
You are brasilian bro? Your accent looks like brasilian 🇧🇷
Yes, you're right bro
So every time the button is click the Push notification is shown?
Inside the app we have a button "Subscribe to Topic" just to subscribe, so you can receive the notifications. Inside the Firebase Console you can send the notifications.
@@eslirodrigues777 is there a way to send Push notifications from the App and not from the firebase console?
Yes, you can use the FCM HTTP protocol
Nice. But it's m2 + m3 mixed 😢
Do you mean Material Desing 2 and 3? For pre-designed UI components you should use M3, but you can also use foundation or material to customize the components. I utilized M2 components by importing the "material2" library. However, in the Tutorials project, I believe I didn't make use of it.
bro, your adCount var doesn't work properly, when I implement it, it doesn't show the ad
It's still working for me. First check all the code again. Maybe you just need to wait for the Ad to load. You can change the number of mutableStateOf ("0, 1, 2") or in the: if (adCount % 2 == "0, 1, 2") showAd(). You can try "withCreated" or another like "whenResume, withStarted". You can also use a log to see changes in adCount when navigate between screens, the normal state is to increase the value every time that you open the AdSecondScreen ("0, 1, 2, 3"). The problem is really with the adCount? The text "add loaded" should apper when the app starts, if this text was shown just check the loadAd function. Maybe you need to add the internet permission in the manifest: <uses-permission android:name="android.permission.INTERNET"/>
@@eslirodrigues777 thanks for suggestions, I will try it
how you finded these codes, I have investigated and don't find any good solutions. You are perfect