The Ultimate guide to supporting all screen sizes in Jetpack Compose using Material 3 design
Вставка
- Опубліковано 7 лют 2025
- Follow me on Instagram → / lofcoding
GitHub → github.com/moh...
LinkedIn profile → bit.ly/3l66EVg
Check out my Playlists → bit.ly/3FFX1q5
Login screen video → / watchv=tcbawdwupju
Design repository → github.com/lof...
Window size class Dependency:
implementation "androidx.compose.material3:material3-window-size-class:1.1.0"
Want to support Land of coding? you can buy me a coffee → www.buymeacoff...
Join our small android discord community discord.gg/snFzU9dZqz
Make sure to say Hi when you join 😁
We can use mdp and sdp library it automatically calculate the size
What do you think about it ?
thx
How to make the Text Responsive ??
Very good
your setup will stop working if the user runs the app on a non-standard display, plus this approach requires a lot of code. It seems to me that it is better to use calculated dp values width or height / k, where k - the required coefficient
Is this the best approach out there because lets say we want to target 20 android smartphone only devices with all having different screen sizes and resolution then having all the button sizes, spacing between UI components for all 20 devices can be a real time consuming process for just one screen. Is there an API that can handle it automatically or we have to go with this approach?. Let me know please because whenever I work on UI I come into this problem quite often.
Actually, if you have a good ui design that sticks to the android ui guidelines, you won't need this.
But i use this way when the screen is complex and should look good for all the sizes. I don't know if this is the best approach but im sure that there are different and easier approaches and i will make sure to make videos about that when i get more info about it
What is the good UI design for an example ?
Thanks a lot for your contribution
@@hangyeollee-creuset5108 I also wants to know.
@@hangyeollee-creuset5108
thats the designer's job, take a look at snapchat, facebook, instagram
I thinks there is an easier way (kinda) which is Using ConstraintLayout and work with percentages only
can you please for testing give us the emulator you use in this video with every specific dimension class please
I forgot what emulators i used, but from what i remember
Pixel2 pixel6 and any tablet for large screen sizes
Where can I find this code? Can't find it in the links provided
Switch to support-screen-sizes branch
Subbed, Thank you
why dont you allow us to save your vid into my playlists???
Why couldn't the jetpack compose designer make the dimensions in percentages like in html so that we wouldn't have to suffer from assigning dimensions for each individual screen?
You can use that, but u sometimes you have to pass static value not a ratio, and you cant pass ratio to a text for example
@@Landofcoding what exactly can I use you said? As far as I know, there are no percentages or anything like that in jetpack compose, right?
@@aleksandrnikolaev2914
There are these modifiers :
fillMaxSize(ratio: Float)
fillMaxWidth(ratio: Float)
fillMaxHeight(ratio: Float)
and also the weight() modifier which can be used inside rows and columns
what is the name of the repository in github
Its in the description