German Designer Scripts: Layout bei Autoscale

KMatle

Expert
Licensed User
Longtime User
Nabend,

für meine ersten Anwendungen habe ich (der Faulheit wegen) im Designer einfach ein Layout für ein 7" Tablet genutzt. Die Views habe ich "wahllos" verteilt, per Designer Script positioniert und mit Autoscale (all) skaliert. Alles immer problemlos.

Scheinbar funktioniert das ja ganz gut. In diversen Beispielen wird aber gerne auch ein kleineres Layout genutzt und skaliert. Da bei mir alle Auflösungen/Geräte wunderbar anzeigen, die Frage, wozu man dann noch andere Layouts braucht.

Ich denke, die benötigt man nur, wenn man NICHT mit den Scripts arbeitet und absolut genau ein Layout in einer gewissen Größe manuell bauen will.

Denkfehler oder ist das so?
 

MaFu

Well-Known Member
Licensed User
Longtime User
Es kann z.B. sinnvoll sein, dass die Views im Querformat anders angeordnet werden als im Hochformat.
Einfaches Beispiel:
Eine Liste und mehrere Buttons. Wenn ich im Hochformat die maximale Breite für die Liste benötige, platziere ich die Buttons über/unter der Liste.
Im Querformat setze ich die Buttons dann neben die Liste um für die Liste die ganze Höhe nutzen zu können.
 

MaFu

Well-Known Member
Licensed User
Longtime User
Naja, das war ja nur ein Beispiel. Es kann ja auch von der Bildschirmgröße abhängen, dass ich die Views anders arrangieren will. Klar wird man es nicht oft benötigen (ich habs bisher auch nicht gebraucht), aber besser als andersrum.
 

klaus

Expert
Licensed User
Longtime User
für meine ersten Anwendungen habe ich (der Faulheit wegen) im Designer einfach ein Layout für ein 7" Tablet genutzt. Die Views habe ich "wahllos" verteilt, per Designer Script positioniert und mit Autoscale (all) skaliert. Alles immer problemlos.
Wie hast Du AutoScaleAll benutzt ?
Wenn Ich deine Beschreibung richtig verstehe skalierst Du die Views nachdem Du sie positioniert hast. Eigentlich positioniert man die Views im Designer und dann in DesignerScripts skaliert man sie und nach dem Skalieren kann oder muss man sie an verscheidene Bildschirmgrössen anpassen. Nicht alle Geräte haben das gleiche Höhe/Breite Verhältniss für mache Views muss man die Höhe anpassen.
Falls Du dein Layout für einen Bildschirm anders als 320 / 480 / 160 erstellt hast, kannst Du 'komische' Sachen bekommen wenn Du dein Layout auf kleineren Bildschirmen anzeigst. Denn die AutoScaleAll Rechnungen, in DesignerScripts, basieren auf dem Standardbildschirm.
Es gibt ein Scale Modul mit dem man Views im Code skalieren kann.
Eine ausführliche Erklährung über AutoScale findest Du im Beginner's Guide, Kapitel 8.10 AutoScale.
Verschiedene Layoutvarianten können nützlich sein wenn man verschiedenes je nach Bildschirmgrösse anzeigen will.
Auf einem 10'' Bildschirm kann man viel mehr zur gleichen Zeit anzeigen als auf einem 3.5'' oder auch 5'' Bildschirm.
Ich habe letzlich ein Programm für mein 10'' Tablett geschrieben, um Musik zu spielen. Jetzt habe Ich mir ein Smartphone mit einem 5'' Bildschirm gekauft und woll das Programm auch darauf haben.
Ich habe einen neue Version für Smartphones geschrieben und nicht versucht ein einziges Progamm für beide Bildschirmgrössen zu schreiben. Denn die Layouts sind anders, nicht alle Buttons, Panels unw. werden gleich behandelt.
 

KMatle

Expert
Licensed User
Longtime User
Hallo Klaus,

danke erst mal für die ausführliche Antwort.

Nachdem ich genau bei diesem Problem gelandet bin, dass es unterschiedliche Geräte & Auflösungen gibt und die Doku sowie das Forum im Prinzip sagt: GENAU SO geht es, aber es geht aber auch so, und so würde es auch noch gehen, habe ich nach einem (für mich) einfachen Weg gesucht.

Zuerst habe ich selbst versucht, die Views im Code zu skalieren. Das klappte sogar sehr gut. Bis auf die Zeichensatzgrößen.

Ich habe mir die Designer Scripts angesehen und bin dort darauf gestoßen, dass ja auch die Zeichensätze mit skaliert werden. Perfekt! Mein Gedanke: Dann muss ich ja nix mehr tun. Auch die UI-Cloud bestätigt dies. Auf allen Geräten alles gut. Unsere Geräte zuhause bestätigen das ebenfalls (Tablets und Handies verschiedener Größen).

Also die Views gezeichnet (7" - damit ich "mehr Platz zum Malen habe") und alles via Script (dort lege ich auch die von mir gewollte Größe und Position der Views fest) und per Autoscale(all) skaliert.

Mein nächster Gedanke: Wozu braucht man dann (im Designer) verschiedene Auflösungen. Nur zum Zeichnen? (WYSIWYG) oder hat dies noch andere Gründe. Ich "schmiere" die Views grob hin und die echte Positionierung macht ja eh mein Skript plus Autoscale.

Also gilt (nach Deinem Post): Immer 320 / 480 / 160 nehmen und loslegen? Warum gibt es denn dann die anderen Größen zum Auswählen?
 

klaus

Expert
Licensed User
Longtime User
Also gilt (nach Deinem Post): Immer 320 / 480 / 160 nehmen und loslegen?
Nicht unbedingt, wie schon vorher gesagt, es kommt darauf an was Du wo und wie anzeigen willst.
Warum gibt es denn dann die anderen Größen zum Auswählen?
Weil mache Programme nur für eine Auflösung erstellt werden können oder nur für Tablets. AutoScale ist nur ein Kompromiss und füllt nicht alle Bedürfnisse.
 
Top