Die Problematik mit den verschiedenen Bildschirmgrössen ist nicht so einfach. Und es gibt keine generelle Regel dafür.
Es kommt auch darauf an was man auf den verschidenen Bildschirmen anzeigen will.
Ein Layout das für einen 3.5'' Bildschirm ausgelegt ist und dann für einen 10'' Bildschirm gestreckt ist, sieht dauf dem grossen Bildschirm nicht gut aus.
Falls Du Alles mit %x und %y machst solltest Du dir das
AutoScale Code Modul ansehen.
Wenn Du da ScaleRate = 1 setzt werden alle Views proportional zur Bildschirmbreite und Bildschirmhöhe skaliert.
Das geht ganz einfach mit:
ScaleRate(1)
ScaleAll(Activity, True)
Du solltest dir auch mal DesignerScripts näher anschauen, da kannst Du das gleiche machen wie im Code aber leider nur für die Views die im Designer definiert sind. Anchors sind sehr interessant.
Im Beginner's Guide gibt es mehrere Kapitel die dieses Thema beschreiben.
Ich hatte ein Programm geschrieben das am Anfang nur für Tablets ausgelegt war.
Dann brauchte Ich es aber auch auf dem Smartphone und habe eine Smartphone Version geschrieben.
Zwei Programme zu unterhalten mit mehr als 90% gleichem Code war dann Blödsinn.
Habe dann am Ende die zwei Versionen in eine zusammengebracht.
Mit folgenden Begrenzungen:
- Verschiedene Layouts für kleine und grosse Bildschirme auf Panels. Je nach Bildschirmgrösse werden die richtigen Layoutdateien gelesen.
- Phone, nur portrait Orientierung und nur ein Panel ist sichtbar zur gleichen Zeit.
- Tablet, nur landscape Orientierung und zwei Panels zur gleichen Zeit sichtbar.
Aber wie schon gesagt, je nach Programmart und Datenart ist die optimale Lösung verschieden.