我有一个我开发的空气应用程序,目前只有我使用。它工作正常,但我最近有一台 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 值相同,因此我们似乎无法做任何事情做以支持桌面上更高分辨率的显示。
似乎我们只是无法为高分辨率显示器制作应用程序。