簡體   English   中英

如何檢測屏幕方向變化? -Microsoft Surface上的JavaFX

[英]How to detect screen orientation change? - JavaFX on Microsoft Surface

我正在為Microsoft Surface編寫JavaFX應用程序,並且正在尋找一種將設備從縱向旋轉到橫向(反之亦然)時檢測屏幕方向變化的方法。 我用來檢測屏幕方向的當前方法如下:

window.widthProperty().addListener((obs, oldVal, newVal) -> {
    if((double) newVal < window.getHeight()) {
        setPortraitMode();
    } else {
        setLandscapeMode();
    }
});

此方法適用於手動調整窗口大小。 但是,方向更改(設備旋轉)不會觸發窗口調整大小事件,因此更改布局的方法不會自動觸發。

在不偵聽調整大小事件的情況下檢測屏幕方向變化的正確方法是什么?

解決此問題的方法是檢查寬高比是否發生變化。 我使用的條件:

    if((double) newVal < window.getHeight() || ((double) newVal/visualBounds.getHeight() < 1.5) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM