Apache flex 如何开发air应用程序以支持高DPI屏幕

Apache flex 如何开发air应用程序以支持高DPI屏幕,apache-flex,air,highdpi,Apache Flex,Air,Highdpi,我开发了一个air应用程序,目前只有我使用。它工作得很好,但我最近得到了一个4K监视器,我对那些不支持windows中自定义DPI设置的应用程序感到恼火,这些应用程序用于确保文本在这个高DPI屏幕上仍然可读 …事实证明,我的应用程序并不是为了支持此 我可以获得自定义DPI值并以某种方式使用它吗 我以前在为移动设备开发时使用过applicationDPI设置,但在这里似乎没有多大帮助。我已将其设置为120,最低值,但应用程序仍然很小。如果我把它设置得更高,它会变得更小 Windows上的runti

我开发了一个air应用程序,目前只有我使用。它工作得很好,但我最近得到了一个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值相同,我们似乎无法在桌面上支持更高分辨率的显示


我们似乎无法为高分辨率显示器制作应用程序。

设备的dpi越高,所有东西看起来就越小。应用程序将通过设置较大的字体大小来补偿较高的DPI

例如,ApacheFlexSDK如何在

120DPI:

640新闻部:

在您的组件和皮肤中,您可以检查DPI并添加自定义逻辑以增加大小、距离、字体大小等,从而使您的应用程序看起来正确

以下是一个例子:

下面是如何在运行时确定和处理DPI的一个很好的概述:

设备的dpi越高,所有东西看起来就越小。应用程序将通过设置较大的字体大小来补偿较高的DPI

例如,ApacheFlexSDK如何在

120DPI:

640新闻部:

在您的组件和皮肤中,您可以检查DPI并添加自定义逻辑以增加大小、距离、字体大小等,从而使您的应用程序看起来正确

以下是一个例子:

下面是如何在运行时确定和处理DPI的一个很好的概述:

我终于有时间再次调查此事了。运行时DPI似乎没有正确报告。我已经更新了这个问题。制造商手册将显示器的PPI/DPI报告为什么?也许120是正确的值?从这个表中,似乎完全有可能在4K显示器上DPI为120。在这种情况下,我想您可以查看stage.stageWidth和stage.stageHeight值来确定您希望如何布局/缩放应用程序。它是27“因此,DPI刚刚超过160。默认按钮和标签太小,无法阅读。我终于有时间再次研究这个问题。运行时DPI似乎没有正确报告。我已经更新了这个问题。制造商手册将显示器的PPI/DPI报告为什么?也许120是正确的值?从这个表中,似乎完全有可能在4K显示器上DPI为120。在这种情况下,我想你可以查看stage.stageWidth和stage.stageHeight值来确定你想要如何布局/缩放应用程序。它是27英寸,所以DPI刚好超过160。默认按钮和标签非常小,无法读取。