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