Unfortunately there is no miracle solution to solve this subject.
The right solution depends on the kind of application and what you want to display at the same time on the screens, small or big, at the same time.
One solution, used by many users, is to use %x and %y values for the positions and dimensions of the different views.
This means that you have the whole layout displayed reduced on small screens or streched an large screens.
This is the 'easiest' wan but may not look very well on all devices.
The drawback with this solution is that the TextSizes are not adapted. It's up to you adapt them.
You can also use Anchors and AutoScale in the Designer, but this may need some adaptation to center views.
AutoScale adjusts also the TextSize.
Another solution is to display information on panels in two screens on small devices and display two panels at the same time on big screens. This will look better, but needs some more code.
Assuming 1 dip is based on 160DPI, that would mean that one device is 2.7" wide while the other is 3.4". They both are exactly 3.6" wide.
No !
Android admits 'standarized' DPI values, 120,
160, 240, 480 etc DIPs. 160 is the 'standard' value.
Manufacturers can 'play' with this, the pixel sizes can vary for screens with almost the same physical size.
A screen with a size of 4.8'' or a screen with a size of 5'' can have the same resolution 480 * 800 pixels scale 1.5.
Both are admitted having a DIP value of 240, but their physical size is NOT exactly the same.
I have two devices one witha 5'' screen and the other one with a 10'' screen. Bothe have the same number of pixels.
One with 480DPI and the othe with 240DPI.
If you use:
Width = 100, means that the physical dimension is the half on the small screen according to the big screen.
Width = 100dip means that the physical dimension is the same on both devices.
Width = 50%x means that the width is half the screen width on any device.
I am not using the "Scale" parameter that I have seen mentioned many times as I have not found where to declare it or how to set it.
Scale is a code module you can use to scale views in the code, it is explained in the Beginner's Guide.
With this module and Scale.ScaleRate(1) is exactly the same as %x and %y values, including TextSize.
You may have a look at the different chapters on this subject in the Beginner's Guide.