Flex 3应用程序完成更高分辨率(1024 * 768或更高)不能在较低分辨率(800 * 600)下工作

时间:2011-07-25 12:25:13

标签: flex flex3 adobe custom-component screen-resolution

我使用adobe flex 3开发了一个应用程序。此应用程序中有许多自定义组件。我开发了这个产品,假设最小屏幕分辨率为1024 * 768,因此我编写了几个组件的硬编码宽度。

但是,我了解到客户在分辨率为800 * 600的投影机上使用该产品。

当我尝试以800 * 600分辨率运行应用程序时,我无法使用该应用程序,因为很少有屏幕看不到。

我预见如果申请800 * 600,那么在更大的分辨率上看起来不会很好。

我想知道如何以最小的效果解决这个问题?我无法决定是否必须以较低的分辨率重做大部分组件。

[编辑]

根据答案,为了测试,我已将组件的宽度和高度更改为100%。基本上这个组件是TitleWindow,底部有ControlBar。并用于popup。我遇到的问题是,ControlBar没有出现。该应用程序具有VerticalScrollBar但仍无法在弹出窗口中滚动。在垂直滚动时,应用程序正在滚动但不是弹出窗口。

希望您了解我的问题,并建议解决方案。

由于

安吉

2 个答案:

答案 0 :(得分:1)

你根本不应该使用硬编码的尺寸。使用percentWidthpercentHeight和布局约束。

答案 1 :(得分:1)

一种选择是使用百分比宽度。在ActionScript中,您可以在组件上设置percentWidthpercentHeight属性。在MXML中,您只需在width或height属性中指定百分号,如下所示:

<mx:UIComponent width="100%" height="100%" />

另一种选择是根据组件的大小在updateDisplayList()中调整孩子的大小和位置。传递给updateDisplayList()的值是组件的高度和宽度,由该组件的父级定义。

虽然MXML可以掩盖它有时所有组件的大小,并根据父级设置的大小将其子级定位在updateDisplayList()中。