【发布时间】:2010-09-03 09:09:14
【问题描述】:
我有这样的问题:我正在创建一个容器,它是运行时的内容。这是一个粗略的结构:
--VBox
----表格
-------表单项
...
-------表单项
----控制栏
我已为 form 容器修复了 maxHeights 以使其保持在屏幕范围内。但是当我得到垂直滚动条时,也出现了水平滚动条(似乎这个 VScrollBar 的地方不够用)。
为了避免这个问题,我创建了一个水平滚动出现的监听器,所以如果它出现,我会增加一点容器,所以它会正常地支撑另一个滚动条:
form.addEventListener(Event.ADDED, function(event:Event):void{
if(event.target is HScrollBar){
while(form.horizontalScrollBar && form.horizontalScrollBar.visible && !(form.width > form.maxWidth)){
form.width += 10;
form.validateDisplayList();
}
}
});
我也试过validateNow和其他类似的方法。我在这里有什么:
1. 正在添加HScrollBar。
2.我们增加一点容器的宽度,让它消失。
3. 当它消失时,当它试图测量不存在的滚动条时,验证会抛出空指针异常。我也尝试在验证之前添加validateProperties,但也没有用。
谁能帮忙摆脱这个烦人的卷轴? :)
【问题讨论】:
-
您是否在组件上设置了 HorizontalScrollPolicy,如果是,设置为什么值?
-
horizontalScrollPolicy 也因为没有明确设置verticalScrollPolicy。因此,据我所知,它们应该设置为自动。
标签: apache-flex scrollbar sizing