German Autoscale

Anne

Member
Licensed User
Longtime User
Hallo Klaus

Vor einiger Zeit hatte ich dich um Hilfe beim Design von Screens für verschiedene devices gebeten. Du hattest mir AutoScaleExamples empfohlen, die ich mir gewissenhaft einverleibt habe, zunächst aber nicht verstanden habe was das soll. Heute weiss ich, dass man so nur ein Bild kreieren muss das mit Autoscale auf den meisten Devices mit einem einigermassen ansprechenden Aussehen darstellen kann. Ist aber nicht mein Bier. Tablets und Smartphones haben ganz andere Gestaltungsmöglichkeiten und eine solche quick-and-dirty-Lösung kommt nicht in Frage.

Da ich bis dahin nur ein einziges Gerät hatte (Smartphone Samsung) und ich die Bilder zunächst komplett mal auf einem Gerät sehen wollte, störte mich mein "Nichtwissen" nicht sonderlich.
Aber jetzt! Ich teste jetzt mit

Samsung GALAXY Tab 2 10.1 10.1" WiFi P5110
Display: PLS TFT LCD
Interne Displayauflösung: 1.280 x 800
Displaygröße (innen): 10,1"

Alles schön und gut, aber wenn ich mir die ermittelten device daten mit log ausgeben lasse, dann sind 100%x = 1280,100%y = 768.
Alle layout values sind: 1280 x 800 Scale 1.0 (160dpi)

Bis dahin komme ich mit, aber ich kann nur von diesen vielen Pixels gerade mal 950dip x 540dip verwenden.

Das bringt mich gehörig ins Schwitzen, denn so kann ich nicht mit %x und %y arbeiten, da diese stark vom tatsächlich zur Verfügung stehenden Platz abweichen und mir dadurch meist die Buttons im Nirwana verschwinden.

Es eilt nicht sehr, du musst nicht sofort in die Tasten greifen. Aber vielleicht kennst du den Grund für diese Diskrepanz und vielleicht gibt es einen Faktor, den ich übersehen habe.

Fröhliche Ostern trotz schlechten Wetters. Gruss Anne.
 

schimanski

Well-Known Member
Licensed User
Longtime User
Hallo Anne,

vorsichtig geschätzt, könnte es daran liegen, dass du die Titelleiste nicht berücksichtigt hast. Die volle Pixelzahl steht nur bei Fullscreen zur Verfügung. Du solltest mal mit den Screen-Parametern experimentieren oder im Designer die Titelleiste und die Statusleiste für die Activity ausschalten...

Gruß

Gesendet von meinem XT910 mit Tapatalk 2
 

klaus

Expert
Licensed User
Longtime User
Ich verstehe nicht Alles.
Du sagst dass Du einen Bildschirm mit einer Auflösung von 1280 x 800 x 160 hast.
Das sollten also netto B x H Werte von 1280 x 750 Landscape oder 800 x 1230 Portrait Pixeln sein, 50 Pixel für die zwei oberen Zeilen.
Daher verstehe Ich nicht wieso Du nur 950 x 540 Pixel zur Verfügung hast ?
AutoScale ist interessant ist aber keine Universallösung, es hat auch seine Nachteile.
Für die meissten meiner Programme habe Ich bis jetzt mein Scale Modul von dem AutoScaleExample4 aus dem Beginner's Guide benutzt. Ist für mich vorläufig ein nicht zu schlechter Kompromiss (für mich besser als das AutoScale von Erel speziell für 480 x 800 240 Bildschirme), kommt aber auf die Programmart an, was will man wo und wie anzeigen, siehe unten.

Das ist eben das grosse Problem was will man wo und wie anzeigen auf Bildschirmen mit Flächenunterschieden bis zu 8 mal ?
Flächenvergleich von Bildschirmgrössen:
3.5'' = 1
7'' = 4
10'' = 8
Dazu kommen noch die unterschiedlichen Höhe / Breite Verhältnisse.

Macht es wirklich Sinn das Gleiche auf einem 3.5'' Bildschirm wie auf einem 10'' Bildschirm mit einer 8 mal grösseren Bildschirmfläche anzeigen zu wollen ???
Ich bin gerade dabei ein Programm zum abspielen von Musik zu schreiben, vorläufig nur für Taletts (meins ist 10''). Da habe Ich zwei Panels nebeneinader, links ein Panel das immer angezeigt ist und rechts verschiede Panels die je nach Bedarf angezeigt werden. Das auf einem klein Smartphonebildschirm zu machen ist für mich Unsinn. Das heisst also für Smartphones eine ganz andere Panelbehandlung also eine andere Version. Diese verschiede Behandlung im gleichen Programm zu machen ist wahrscheinlich kompliziert daher eine andere Version. Habe das aber noch nicht Alles im Detail überdacht welche Lösung die wenig schlechtere ist. Ich bin nicht sicher ob Ich es überhaupt für Smartphones anpassen werde, leider hat aber ein Freund daran Interesse.

Hast Du mal das Kapitel 8.10.3 AutoScale more advanced examples im Beginner's Guide Edition 2.4 gelesen, da hab Ich so einiges reingeschrieben.

In diesem Bereich haben es die iOS Entwickler viel leichter.

Ich habe leider keine optimale universale Lösung anzubieten weil es keine gibt, je nach Programmart kann sie unterschiedlich sein.

Beste Grüsse.
 
Last edited:

Anne

Member
Licensed User
Longtime User
Hallo Schimansky
Die Titelleiste ist ca. 50 Pixels hoch, damit kann man den Riesenunterschied von 320dip in der Breite und 260dip in der Höhe nicht erklären. Aber mit den Schreen Parametern werde ich ein bisschen rumprobieren. Vielen Dank auch für die schnelle Antwort.

Hallo Klaus
Was du nicht verstehst, verstehe ich ebenso wenig. Das ist ja das Problem! Wie ist der Platzverlust zu erklären? Kann man vielleicht X und Y von aussen beeinflussen, damit ich wieder mit relativer Bildschirm-Adressierung (z.B. 50%x) arbeiten kann? Fix zuteilen möchte ich die Positionen nicht, weil ich effektiv nicht weiss, ob es sich hier um einen Bios-Fehler handelt. Mein Mann lädt - die neuen Versionen sind noch nicht einmal ganz trocken - immer alles sofort auf die devices und da kann evtl. doch einmal ein faules Ei dabei sein.
Designer Scripts und Autoscale habe ich mir - gemäss deinen Ausführungen - bereits einverleibt.

Dass die verschiedenen Geräte unterschiedliche Möglichkeiten bieten, ist mir bekannt. Darum will ich auch nicht dieselben Designs für alle die verschiedenen devices haben. Das Design für Smartphones steht, keinerlei Probleme bis jetzt. Aber eben mein Tablet macht mir Sorgen.
Wenn ich den Grund für die Diskrepanz, bzw. noch besser - eine Lösung gefunden habe, dann melde ich mich wieder.

Tschüss euch Beiden und vielen Dank für eure Mühe. Anne
 

Anne

Member
Licensed User
Longtime User
Hallo ihr Helfer
Die Idee, die Screens nochmal genau anzusehen hat mich zunächst nicht weitergebracht, aber aus euren beiden Voten habe ich entnommen, dass es eigentlich gehen müsste, wie ich mir das vorgestellt habe.
Ich habe dann mal alle Autoscales entfernt, da ich die nicht brauche. Und dann war ich im Code angelangt.
Das Modul, um das es sich handelt, ist ein Recherche Modul. Es gibt 3 verschiedene Recherchen, eine Global-Recherche über alle Felder, eine Feldrecherche, bei der in einzelnen Feldern nach bestimmten Werten gesucht werden kann und eine, da kann man sich seine SQL-Recherche selbst zusammenzimmern. Ich glaube, die dritte lasse ich vorerst noch weg, bis ich das Bedürfnis danach festgestellt habe. Ich kann mir nämlich nicht gut vorstellen, dass sich smartphone und Tablet User für SQL interessieren.
Diese drei liegen übereinander, getrennt durch Panels. Und wenn man einen Fullscreen füllen will, ja dann muss das Panel eben auch so gross sein. Ich stehe bereits in der Ecke und schäme mich!
Ich habe noch nicht das gesamte Modul korrigiert, aber das untereste Bild läuft so, wie ich es will und die anderen zwei werden das auch noch tun.
Super, jetzt kann ich wieder mit relativer Adressierung arbeiten!
Und der Petrus hat auch ein Einsehen, er hat eine Wetterkorrektur vorgenommen. Bei uns scheint die Sonne. Vielen Dank und ebenso viele Grüsse Anne.
 
Top