我在弹性滚动条中有问题。我有一个基于canvas的mxml组件。在里面,我使用了VBox作为我的表格。在那个Vbox之上我还有另一个用于标题的画布。
当内部的网格填充了更多数据时,我的表单会比正常的屏幕大小更长。在这种情况下,我想要一个垂直滚动条只适用于我的表单所在的Vbox。但整个画布正在滚动条包括标题画布。如何解决这个问题呢。
我将主画布的垂直滚动条策略设置为关闭,并将Vbox的VerticalScrollbarPolicy设置为on。但那不起作用。它不会覆盖父容器的属性。
感谢。
答案 0 :(得分:3)
将您的表单保留在父画布内的Canvas中,而不是VBox中。 VBox和HBox设置为在父容器中自动增长,因此如果您的表单增长,您的相应VBox也会增长。
答案 1 :(得分:1)
您希望为父画布重载“updateDisplayList”函数,并强制将表单Vbox的高度设置为canvasHeight-titleHeight(包括填充,空格等等),以便VBox永远不会大于屏幕。这将解决您的问题。只需确保检查VBox是否存在,因为有时updateDisplayList将在实例化之前被调用。
答案 2 :(得分:0)
我自己也有同样的问题,决定采取简单的方法。
有以下
App-> vbox-> [vbox + hbox]
组件被动态添加到最后一个vbox。希望hbox留在屏幕上并且仅在vbox上面有滚动条(第二个vbox)
遇到了同样的问题。除最后一个vbox外,所有容器的滚动策略=关闭,但在动态添加组件时,当组件填充vbox时> 100%,外部vbox将开始滚动。
一旦我回到文档,决议很简单
设置滚动策略 - 应用程序的水平和垂直以及第一个vbox关闭,并添加autoLayout = false。这会导致引擎在初始化后不调整组件大小,即它们是静态大小的
添加此属性后,除内部vbox外,不再有滚动条。
多田!