2011-07-25 32 views
0

我已经使用adobe flex 3开发了一个应用程序。此应用程序中有许多自定义组件。假设最小屏幕分辨率为1024 * 768,因此我开发了这款产品,因此我使用硬编码宽度很少的组件。为更高分辨率(1024 * 768或更高)无法以较低分辨率(800 * 600)工作的Flex 3应用程序

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

当我试着在800 * 600分辨率下运行应用程序时,我无法使用该应用程序,因为很少看到完整的屏幕。

我预测如果将应用程序设置为800 * 600,则在更大的分辨率下看起来不太好。

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

[编辑]

基于该答案,进行测试,我已经改变的部件的宽度和高度为100%。基本上这个组件是TitleWindow,底部是ControlBar。并用于popup。我面临的问题是,ControlBar没有看到。该应用程序有VerticalScrollBar但仍然无法在弹出窗口中滚动。在垂直滚动应用程序正在滚动,但不是弹出。

希望你明白我的问题,并可以提出解决方案。

感谢

安吉

回答

1

你刚才不应该使用硬编码的大小在所有。使用percentWidth,percentHeight和布局约束。

+0

感谢您的回复。是的,我可以使用,但在开发过程中,我的印象是最低分辨率为1024 * 768,并且在自定义组件中很少有儿童使用硬编码的宽度和高度值。 – Anji

+0

+1你使用绝对宽度/高度值,你几乎总是遇到麻烦。 –

1

一种选择是使用百分比宽度。在ActionScript中,您可以在组件上设置percentWidthpercentHeight属性。在MXML你可以指定百分号宽度或高度属性,像这样:

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

另一种选择是大小和基于组件的大小updateDisplayList()你的孩子的位置。传递给updateDisplayList()的值是组件的高度和宽度,由该组件的父级定义。

尽管MXML有时可以根据父级设置的大小掩盖它,有时所有组件的大小和它们的子级都放在updateDisplayList()中。

+0

感谢您的回复。我更新了我的问题。 – Anji

+1

@Anji你将不得不展示一些代码和/或一些截图以获取更多帮助。根据您的更新,我无法指引您进入特定的方向。 – JeffryHouser