Fenstergrösse bei Android

Startseite Foren Deutsches LiveCode-Forum Fenstergrösse bei Android

Ansicht von 9 Antwort-Themen
  • Autor
    Beiträge
    • #3045
      RehW
      Teilnehmer

        Hi zusammen

        Ich versuche gerade meine erste App und habe ein Problem mit der Fentergrösse.
        Folgende Grössen habe ich bereits probiert:
        – 300×400
        – 384×512

        Bei keiner Grösse wird die App richtig dargestellt. Die Navibar befindet sich nicht am unteren Rand und bei beiden befindet sich noch Platz zum unteren Rand. Bei der Breite habe ich rechts noch Platz bei 300×400 und bei 384×512 wird ein Teil abgeschnitten. Habe schon alles mögliche bei Resize ausprobiert ohne Erfolg.
        Wie muss ich die Navibar einstellen damit sie am unteren Rand ist und nicht abgeschnitten wird?

        Mfg Rene

      • #3049
        Klaus Major
        Administrator

          Hi Rene,

          ich nehme mal an, Du redest vom Widget “Navigation Bar”, das Du verwendest?

          Zunächst sollte Dir “the screenrect” die genauen Abmessungen der Monitorgröße des verwendeten Devices liefern. Also könntest du zunächst:

          ...
          set the rect of this stack to the screenrect
          ## Was aber automatisch passieren sollte und wohl auch wird.
          ...
          ## Nun das Widget richtig positionieren:
          ## 1. Breite anpassen
          set the width of widget "your navbar here..." to item 3 of the screenrect
          
          ## 2. Nun ganz "unten links" positionieren
          set the bottomleft of widget "your navbar here..." to 0, item 4 of the screenrect
          ...

          Nun sollte es passen.

          Gruß

          Klaus

        • #3053
          RehW
          Teilnehmer

            Hi Klaus,

            genau ich meinte das Widget “Navigation Bar”. Ich habe es mit den oberen Code probiert, aber es bleibt an der selben Stelle mit der selben Grösse. Habe es mit preOpenStack und resizeStack versucht, hat sich aber nichts geänder. Auch bei der Geometry habe ich schon verschiedene Eintellungen ausprobiert. Gibt es keine besere Möglichkeit für das Ausrichten der Widgets. Ich müsste ja alle anpassen damit sie auf allen Grössen gleich ausgerichtet sind und die gleiche Grösse haben.

            Mfg Rene

          • #3057
            Klaus Major
            Administrator

              Was hast Du denn als “fullscreenmode” gesetzt? Falls überhaupt.

              Ich entwickle nicht für Mobile, besitze auch kein Handy o.ä., kann das daher nicht ausprobieren.

            • #3062
              RehW
              Teilnehmer

                Hi Klaus,

                Fullscreen habe ich in OpenStack geetzt mit:
                set the fullscreenmode of me to true
                Es ändert sich nur die Höhe der Navigation Bar. Werde es gleich nochmal auf dem Handy testen.
                Mit der Hilfe komme ich auch nicht klar, bis man da etwas gefunden hat. Wo finde ich z.Bsp. denn Infos darüber welches item bei screenrect der Breite oder Höhe entspricht?

                Gruss Rene

              • #3064
                Klaus Major
                Administrator

                  Hallo Rene,

                  bitte unbedingt “fullscreen” und “fullscreenmode” im Dictionary nachschlagen, das sind zwei unterswdchiedliche paar Schuhe! Unter iOS und Android ist “fullscreen” IMMER TRUE!

                  Wichtig ist, welchen Wert Du bei “fullscreenmode” eintellst!
                  Da gibt es nämlich kein TRUE oder FALSE!

                  “the screenrect” liefert bei mir Folgendes zurück: 0,0,1920,1200 = x1, y1, x2, y2
                  Also x1 und y1 der linken oberen Ecke, da von dort aus “gemessen” wird, ist das 0 und 0.
                  x2 und y2 der unteren rechten Ecke sind die letzten beiden Werte, also ist mein Monitor 1920 Pixel breit und 1200 Pixel hoch.

                  Gruß

                  Klaus

                • #3068
                  Aldred
                  Teilnehmer

                    Hi René,

                    Versuch mal folgendes im Stack-Script:

                    on preOpenStack

                    set the fullscreenmode of me to “exactfit”

                    end preOpenStack

                    Das sollte deine ganzen cards automatisch an jedes Display anpassen.
                    Du musst das entweder im Mainstack für jeden Stack (also auch für die Substacks) schreiben, oder eben für jeden Stack einzeln im entsprechenden Stack-Script.

                    Liebe Grüße
                    Philip

                  • #3074
                    RehW
                    Teilnehmer

                      Hi Klaus und Philip,

                      im Moment habe ich folgenden Code:

                      on preOpenStack
                         set the rect of this stack to the screenrect
                         ## Was aber automatisch passieren sollte und wohl auch wird.
                         
                         ##set the fullscreen of this stack to true
                        set the fullscreenmode of me to "exactfit"
                         
                         ## Nun das Widget richtig positionieren:
                         ## 1. Breite anpassen
                         set the width of widget "navibar" to item 3 of the screenrect
                      
                         ## 2. Nun ganz "unten links" positionieren
                        set the bottomleft of widget "navibar" to 0, item 4 of the screenrect
                        
                      end preOpenStack

                      Leider noch immer ohne Erfolg, werde es mal mit dem resizeStack probieren und es prozentual ausrechnen um es an die richtige Position zu bekommen.
                      Ich teste es unter Windows und muss LiveCode immer beenden und neu starten. Sonst übernimmt er nicht meine Änderungen.

                      MfG Rene

                    • #3088
                      Aldred
                      Teilnehmer

                        Hi René,

                        Versuche mal zwei Dinge:

                        1.

                        Lass mal die Screenrect-Sachen weg und zieh das Widget mit der Maus so in Position, wie du es haben willst. Mit dem fullscreenmode “exactfit” sollte sich der Screen dann automatisch an das jeweilige Device anpassen.
                        Hast du im Propertymanager das Häckchen bei “lock Position” gesetzt?

                        2.
                        Versuch mal dein Handy per USB mit dem Rechner zu verbinden. Vorher solltest du in den Sicherheitseinstellungen deines Smartphones das USB-Debugging aktivieren. Ebenfalls die Option “unbekannte Quellen” aktivieren. Dann kannst du in LC deine App jederzeit mit dem “Test” – Button oben rechts auf dem Handy testen. LC bildet dann eine APK die per USB auf dein Smartphone überspielt und installiert wird.

                        Kleiner Tipp: Vorher mit Strg+S unbedingt speichern. Manchmal macht es das von selber, manchmal nicht. Beim ersten Test nach Programmstart stürzt LC gerne mal ab.

                        Liebe Grüße
                        Philip

                      • #3122
                        RehW
                        Teilnehmer

                          Hi Aldred,

                          wenn ich das Handy mit dem Rechner verbinde funtioniert es. Wenn ich es aber unter Windows teste und die Größe des Stacks änder werden die Widgets nicht an die neue Größe angepasst welche ich in das Script unter resizeStack eingetragen habe. Habe es im Propertymanager mit und ohne dem Häckchen bei “Lock size and position” und bei “Resize when setting rect property” probiert. Werde aber noch weiter testen. Ich mache da bestimmt noch etwas verkehrt.
                          Werde mir mal das Buch von Hauke bestellen, dann habe ich mehr Infos auf Deutsch.

                          MfG Rene

                      Ansicht von 9 Antwort-Themen
                      • Du musst angemeldet sein, um auf dieses Thema antworten zu können.