German Designer Script

hogiebaer

Active Member
Licensed User
Longtime User
Hallo liebe Devs,

meine Apps habe ich bislang immer ohne den Virtual Designer programmiert, um jeglicher in Frage kommenden Auflösung entgegen treten zu können. Ist natürlich äusserst aufwendig, je mehr Komponenten (labels/panels/buttons etc.) ins Spiel kommen, diese ewige Formelrechnerei bei z.B. 3 Button nebeneinander in Breite und Höhe zu berechnen, nervt ohne Ende.
Wäre natürlich mit dem Designer alles viel einfacher.

Habe auch mit diesem bereits schon einmal eine Anwendung programmiert (für mein Note 3) und falle natürlich hinten runter, wenn ich die App auf ein anderes Handy mit anderer Auflösung installiere, da ich nicht für jedes Handy mit unbekannten Auflösungen ein anderes Layout programmieren möchte, desweiteren kenne ich die Auflösungen ja auch gar nicht, was da alles im Umlauf ist.

Wie macht ihr das ?
Da ich ein neues Projekt plane, würde ich gerne eure Erfahrungen "einsammeln", bevor es los geht.
Sehr gerne würde ich natürlich mit dem Designer arbeiten, da es vieles sehr vereinfacht und beschleunigt. Die DesignerScripts habe ich mir mal angeschaut, aber wenn ich ehrlich bin, blicke ich nicht so richtig durch. Muss ich da im Vorfeld schon die zu erwartenden Auflösungen kennen?

Vielen Dank für eine rege Teilnahme
 

klaus

Expert
Licensed User
Longtime User
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.
 

hogiebaer

Active Member
Licensed User
Longtime User
Hi Klaus, danke für deine Ausführungen. So ähnlich hatte ich das auch auf dem Schirm.
Werd mich mal mit der Scale Geschichte auseinander setzen und mal verschiedene Devices testen.

Gruss
Holger
 
Top