Flex ScrollBars

时间:2011-06-14 14:34:08

标签: flex scrollbar

我在显示我的Flex应用程序的滚动条时出现问题...我尝试了一个带有画布的基本应用程序,但滚动条从未出现在浏览器窗口上,因为画布比屏幕上的尺寸大得多。有人可以帮忙吗?这是我的代码:

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

    <mx:Canvas id="MyCanvas" height="2500" width="2000" verticalScrollPolicy="auto" 
    horizontalScrollPolicy="auto" backgroundColor="black" symbolColor="#000000"
    contentBackgroundColor="#080808"/>

    </s:Application>

3 个答案:

答案 0 :(得分:4)

您想要画布中的滚动条吗?或者在您的主​​要申请中?如果要在画布中使用滚动条,只需添加超出画布高度和宽度的内容。它将“神奇地”添加它们,因为这是MX / Halo组件的作用。

如果您想在主应用程序中使用滚动条,则必须使用滚动条组件和组手动添加它们。概念上是这样的:

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<s:Scroller height="100" width="100">
 <s:Group width="100%" height="100%" clipAndEnableScrolling="true">
    <mx:Canvas id="MyCanvas" height="2500" width="2000" verticalScrollPolicy="auto" 
    horizontalScrollPolicy="auto" backgroundColor="black" symbolColor="#000000"
    contentBackgroundColor="#080808"/>

 </s:Group>

</s:Scroller>

    </s:Application>

根据我的经验,您需要在滚动条上指定固定的高度和/或宽度,以显示滚动条。还要确保在滚动条内的组上剪辑可以滚动,否则内容将显示在滚动条的视口之外 - 这有点挫败了目的。

Some good info from Adobe.

答案 1 :(得分:1)

我使用我的应用程序mxml周围的滚动条/组得到它很好,我尝试了别人滚动皮肤def但它没有用。

主要是为应用程序,卷轴和放大器设置所有高度和宽度为100%。基。

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
           xmlns:s="library://ns.adobe.com/flex/spark"
           xmlns:mx="library://ns.adobe.com/flex/mx"
           width="100%" height="100%>
<s:Scroller height="100%" width="100%" horizontalScrollPolicy="on" verticalScrollPolicy="on">
<s:Group left="0" right="0" top="0" bottom="0">
     <!--...mxml....-->
</s:Group>
</s:Scroller>
</s:Application>

答案 2 :(得分:0)

在Flex 4+(spark)中,您不再使用“scrollPolicies”。 MX画布仍然可以,因此如果您的画布内容超过2500x2000,它们将滚动。

要让您的整个APP都有一个滚动条,您需要为应用程序创建一个外观并将“contentGroup”包装在一个标记中。

有关将滚动条添加到spark应用程序的更多信息,请参阅:http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf62d75-7fff.html