You have to create layout for different screen sizes as creating a single design layout and hoping that it would work and look good on all screen size is next to impossible
As defined in android docs for supporting multiple screen sizes we need to focus on using 3 things.
- using more Constraint Layout as it provide us with using more relative styling as compared to other layout component
- Create alternate layout using qualifiers in android studio
- use bitmaps or svg component that could stretch without being blurred.
ConstraintLayout
It supports things like percentage values,now combine those with guidelines it becomes a powerful tool for designing layout
Alternate Layout
In the layout design tab of android studio click orientation change icon then select create other... options from the dropdown list . Now you need to select qualifier from the provided list and create layout relative to different screen sizes without the need of extra code to write for showing those layout. Those layout would appear when a provided qualifier layout design matches.
You could follow the link provided above to see how they used smallest width qualifier with values
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a large phone screen ~5" (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
These are the commonly used custom values that covers nearly all device sizes, you could add more refined sizes according to your need and then you could also add different orientation qualifiers too with addition to smallest width qualifiers.
Combination of all those would make your application completely responsive
I know i am answering to an old question but may be my answers helps other in search of similar query with a recent available solution.