大家好,
我们正努力在javaFX中实现密度独立设计。(如果窗口宽度为200px,假设它在88dpi中需要20cm。如果相同的200px窗口大小应用程序在不同的PPI中运行,它应该只占用20厘米)。但根据javaFX,只有px单位指定场景宽度。所以javaFX会根据不同的屏幕分辨率自动管理不同PPI中的px吗?
我们通过创建简单的hello word应用程序来检查这一点,并将舞台大小设置为300x275并将其运行到不同的分辨率(从OS设置手动更改分辨率)分析场景大小的显示方式不同。那么如何实现密度独立设计呢 类似Android中的dp单元。
我们尝试将px应用于javaFX中的dp公式。但是在javaFX中很难找到PPI意味着在ubuntu中,getDpi()方法在所有分辨率下都会返回96.
Screen.getPrimary().getDpi()/96*px;
这里我们附加了不同屏幕分辨率的屏幕截图。