Ich versuche eine App zu erstellen, die auf PC (Windows) und Android ausgeführt wird, jedoch habe ich Probleme, die richtige Bildschirmgröße auf beiden zu bekommen.JavaFxPorts Bildschirmgröße
Unter Windows scheint die Screen.getBounds() -Methode immer die korrekte Vollbildgröße (d. H. Der Bildschirm ohne den Taskleistenbereich usw.) zurückzugeben. Auf Android gibt Screen.getBounds() eine Bildschirmgröße zurück, die viel größer als die tatsächliche Bildschirmgröße ist. Der einzige Weg, wie ich meine App auf Android richtig funktionieren lassen kann, ist Screen.getVisualBounds(). Unter Windows liefert die Verwendung von Screen.getVisualBounds() jedoch immer eine Größe, die in der Höhe etwas kleiner ist als die tatsächliche Gesamtgröße des Bildschirms, da dadurch der von der Taskleiste belegte Speicherplatz entfernt wird.
Weiß jemand, warum die Screen.getBounds() einen viel höheren Wert auf Android als der tatsächlich sichtbare Bildschirm zurückgibt?
Danke.
Danke Jose. Ich schätze Ihre schnellen Antworten auf meine Fragen. Ich habe versucht, meinen Code so allgemein wie möglich zu halten, ohne plattformspezifische Problemumgehungen verwenden zu müssen, aber das ist unter Umständen unvermeidlich. Danke nochmal für die Hinweise. – Driv
So sollte es die meiste Zeit sein, aber irgendwann gibt es unvermeidliche notwendige Plattform-Besonderheiten. Werfen Sie einen Blick auf Charm Down: Es bietet Agnostic API, aber unter der Haube hängt es von plattformspezifischen Code ab. Falls Sie den gleichen Ansatz beibehalten möchten, können Sie die Desktop/Android/iOS-Pakete verwenden. –