【发布时间】:2015-12-19 21:41:51
【问题描述】:
我有一个我开发的空气应用程序,目前只有我使用。它工作正常,但我最近有一个 4K 显示器,我对那些不支持 Windows 中的自定义 DPI 设置的应用程序感到恼火,你使用这些设置来确保文本在这个高 DPI 屏幕上实际上仍然可读。
...原来我的应用程序不是为了支持这个而编写的...
我可以获取自定义 DPI 值并以某种方式使用它吗?
我以前在为移动设备开发时使用过 applicationDPI 设置,但在这里似乎没有多大帮助。我已将其设置为 120,最低且应用程序仍然很小。如果我将它设置得更高,它会变得更小。
Windows 上的 runtimeDPI 似乎存在问题。使用这个非常简单的应用程序:
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
applicationDPI="120">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.FlexGlobals;
]]>
</fx:Script>
<s:VGroup>
<s:Label text="runtimeDPI: {FlexGlobals.topLevelApplication.runtimeDPI }" />
<s:Label text="applicationDPI: { FlexGlobals.topLevelApplication.applicationDPI }" />
<s:Button click="Alert.show('Hello, world')" label="Say Hello"/>
</s:VGroup>
</s:WindowedApplication>
我已经在我的笔记本电脑上运行了这个应用程序,显示器为 1900*1200,在我的桌面上运行了 4k 显示器,运行时 dpi 值都是 120。由于两者的 dpi 值相同,因此似乎没有我们可以做的任何事情来支持桌面上更高分辨率的显示。
似乎我们只是无法为高分辨率显示器制作应用程序。
【问题讨论】:
标签: apache-flex air highdpi