当我执行以下应用程序时,我的Scroller
会延伸到内部组的高度。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009">
<s:Scroller width="100%" height="100%" verticalScrollPolicy="on">
<s:Group height="1400"/>
</s:Scroller>
</s:Application>
这是我得到的:
我希望它与我的窗口大小相同。
你能解释一下,我做错了什么?为什么Scroller
不用作视口?
答案 0 :(得分:1)
通常,您希望使滚动条的高度/宽度为显式值,子项的高度/宽度为百分比。你已经反过来了。所以,像这样:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009">
<s:Scroller width="100%" height="1400" verticalScrollPolicy="on">
<s:Group height="100%"/>
</s:Scroller>
</s:Application>
但是,这并没有解决使滚动条/组成为可用窗口宽度的问题。我会通过调整updateDisplayList()方法中的元素来做到这一点。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx="http://ns.adobe.com/mxml/2009">
<fx:Script>
protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number:void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
myScroller.width = unscaledWidth;
myScroller.height - unscaledHeight;
mySCrollingGroup.width = unscaledWidth
mySCrollingGroup.height - unscaledHeight;
}
</fx:Script>
<s:Scroller verticalScrollPolicy="on" id="myScoller">
<s:Group id="mySCrollingGroup" />
</s:Scroller>
</s:Application>
您可能需要调整myScrollingGroup的大小以适应滚动条的高度/宽度。或者,您可以在myScrollingGroup上使用precentHeight / percentWidth属性并将它们设置为100%。