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
      Verwalter

      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
      Verwalter

      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
      Verwalter

      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.