调整浏览器中的Flex应用程序大小如何设置自动扩展高度

时间:2010-02-08 19:34:02

标签: flex actionscript-3

我正在开发用于培训目的的小型应用程序。单击按钮完成后,新面板将添加到应用程序,添加到应用程序的按钮。一旦我遇到奇怪的问题。垂直滚动条永远不会出现。

以下是我嵌入swf的方法:

<script type="text/javascript" src="/site_media/js/swfobject.js"></script>
<script type="text/javascript">
  var flashvars = {};
  flashvars.siteurl = "http://";
  var params = {};
  var attributes = {};
  attributes.id = "plist";
  swfobject.embedSWF("/site_media/apps/submitproblemme.swf", "myAlternativeContent", "710", "700", "9.0.0","/site_media/apps/expressInstall.swf", flashvars, params, attributes);
</script>

以下是我定义应用程序的方法:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:ns1="ui.*" creationComplete="main(event)" width="730">

所以点击完成后,小面板会添加到底部,所以我的应用程序必须动态扩展到按钮(或者至少创建滚动条)。

以下是截图: http://img.skitch.com/20100208-xhh1mi93acyn5y19r8r8spn974.png

请帮忙!

3 个答案:

答案 0 :(得分:1)

嘿,我自己也遇到过这个问题。

这里最好的办法是使用浏览器滚动条。当您的应用程序SWF大于浏览器视口时,您希望浏览器窗口调整大小。

您可以使用此javascript库执行此操作:SWFFit。将浏览器窗口设置为800x600左右,然后运行this swffit example。它会使滚动条出现。

它的工作原理是调整swfobject添加的对象标签。每当你弄清楚你的应用程序已经调整大小时,你必须调用这些方法。

如果您想使用画布滚动条而不是浏览器滚动条,是否可以显示您正在使用的代码将面板添加到应用程序中?

答案 1 :(得分:0)

可能会或可能不会帮助您的另一个:某些容器具有“resizeToContent”属性。我知道viewStack有它。可能会让你的生活更轻松。

答案 2 :(得分:0)

这是最简单的方法。我们不需要其他插件/工具。在index.html文件中,在样式声明中,粘贴以下代码,

html, body  {height:100%; width:100%; min-width:800px; min-height:600px; overflow:auto; position:absolute;}

我希望它应该可行。如果屏幕尺寸小于800X600,则应显示滚动条。如果需要,还可以指定max-height和max-width。