2011-09-08 60 views
0

我一直被困在这上太久了。我认为这很简单,所以我必须误解某些东西。任何帮助/指针表示赞赏。动态地将滚动条添加到柔性组件

我已经制定了类似

label1的火花表单组件:TextBox1的
标签2:TextBox2中 LABEL3:textbox3等

我想这对在我的Flash应用程序的整个宽度显示。当我缩小flash播放器的宽度时,我想要一个滚动条出现。此刻没有滚动条出现。

我的代码是:

<s:layout> 
    <s:VerticalLayout horizontalAlign="left" paddingTop="10" paddingBottom="10"/> 
</s:layout> 

<s:BorderContainer borderVisible="false"> 
    <s:layout> 
     <s:HorizontalLayout/> 
    </s:layout> 
    <s:Form id="custAccountForm" height="100%"> 
     <s:layout> 
      <s:FormLayout gap="-10" paddingLeft="-15" paddingRight="-45"/> 
     </s:layout> 
     <s:FormHeading label="Customer/Account Details"/> 
     <s:FormItem label="CustomerName"> 
      <s:TextInput width="100%"/> 
     </s:FormItem> 
     <s:FormItem label="Account"> 
      <s:TextInput width="100%"/> 
     </s:FormItem> 
     <s:FormItem label="Currency"> 
      <s:ComboBox id="currencyCB" width="100%"/> 
     </s:FormItem> 
     <s:FormItem label="Account Balance"> 
      <s:TextInput width="100%" maxChars="24"/> 
     </s:FormItem> 
    </s:Form> 
</s:BorderContainer> 

我如何获得一个垂直/水平滚动条上这只会出现在应用程序是表单小。

感谢

回答

1

您需要添加一个scroller。 Flex 4.0 Spark体系结构不会像使用Halo/MX样式控件一样将滚动条烘焙到容器中。从概念上讲,你可以做这样的事情:

<s:Scroller width="200" height="200"> 
<s:Group width="100%" height="100%" clipAndEnableScrolling="true"> 

<s:BorderContainer borderVisible="false"> 
... 
    <s:Form id="custAccountForm" height="100%"> 
.. 
    </s:Form> 
</s:BorderContainer> 
</s:Group> 
</s:Scroller> 

在我使用我发现,如果给一个明确的高度和宽度滚轮效果最好;并且如果给定的百分比高度和宽度将根据其内容来确定大小 - 意味着您没有滚动条。如果你需要更改浏览器的大小,当容器更改时,必须更改滚动条的高度和宽度。可能使用updateDisplayList()来调整大小。

+0

感谢您的快速回复Flextras。我曾尝试添加您对滚动器的建议。我想拥有它,以便在浏览器尺寸缩小之前不会出现滚动条。 updateDisplayList只在启动时才被调用。不是当浏览器/ FlashPlayer更改大小时。我怎样才能做到这一点?我有代码,但不确定在这些问题中发布的位置。 感谢您的帮助。 – RNJ

+0

每次屏幕渲染器都会调用updateDisplayList。我不确定你在代码中可能做了什么,以便它只在启动时被调用。您应该能够在该resize事件中侦听resize事件和invalidaeDisplayList()。如果你有额外的代码,你应该编辑你的原始问题并在那里添加它。您在已删除的答案中发布的代码不会调用“super.updateDisplayList()”,我确信会导致各种问题。 – JeffryHouser

+0

谢谢Flextras。我会在某个时候尝试super.updateDisplayList(),看看是否有帮助。我也会检查你提到的无效命令。谢谢! – RNJ