1

我正在构建一个扩展 SkinnableContainer 的 AS3 类。仅垂直滚动。

public class Part extends SkinnableContainer {

    public function Part() {

        var scroller : Scroller = new Scroller();
        scroller.percentHeight = 100;
        addElement(scroller);

        var content : VGroup  = new VGroup();
        scroller.viewport = content;
        fillContent();
    }

    protected function fillContent():void {...}
}

它们的几个实例每次都放在一个 HGroup 中

  • HGroup 的高度或
  • 其中一个实例中的内容

变化时,实例的宽度会有所不同,因为其中一些实例会根据它们的高度获得 ScrollBar。

如何保留即将推出的 ScrollBar 所需的空间?

scroller.measuredSizeIncludesScrollBars=true 

不会导致成功。

谢谢你的任何提示。

4

1 回答 1

0

我的理解是,您希望每个组件的右侧始终有一个滚动条宽度的空间,这样您的滚动条就可以插入而不会导致重新定位,对吗?如果那是错误的,您现在可以停止阅读!

您应该可以通过将 verticalScrollPolicy 样式设置为 ON(默认为 AUTO)来实现此目的:

    scroller.setStyle("verticalScrollPolicy", ScrollPolicy.ON);

这将意味着滚动条始终可见,但当无法滚动时,它们将被禁用。如果您需要隐藏禁用的滚动条,您可能需要重新设置它们的外观或类似的东西。

希望有帮助!

于 2012-10-31T12:43:26.360 回答