【问题标题】:Flex Vertical Scroll bar problemFlex 垂直滚动条问题
【发布时间】:2010-11-29 09:20:28
【问题描述】:

我的弹性滚动条有问题。我有一个基于画布的 mxml 组件。在里面我使用了一个 VBox 作为我的表单。在那个 Vbox 上方我有另一个画布只是为了标题。

当里面的网格填充更多数据时,我的表单会比正常屏幕尺寸长。在这种情况下,我想要一个垂直滚动条,仅用于我的表单所在的 Vbox。但是整个画布正在获得滚动条,包括标题画布。如何解决这个问题呢。

我将主画布的垂直滚动条策略设置为关闭,并将 Vbox 的 VerticalScrollbarPolicy 内部设置为打开。但这不起作用。它没有覆盖父容器的属性。

谢谢。

【问题讨论】:

    标签: apache-flex


    【解决方案1】:

    我自己也遇到了同样的问题,因此决定采取简单的方法。 有以下
    应用->vbox->[vbox + hbox] 组件被动态添加到最后一个 vbox。希望 hbox 留在屏幕上,并且仅在其上方的 vbox 中具有滚动条(第二个 vbox)。
    遇到了同样的问题。除了最后一个 vbox,所有容器都设置了 scroll policy=off,但是当动态添加组件时,当组件填充 vbox > 100% 时,外部 vbox 会开始滚动。
    回到文档后,解决方案很简单。
    设置滚动策略 - 应用程序和第一个 vbox 上的水平和垂直关闭,还添加了 autoLayout=false。这会导致引擎在初始化后不会调整组件的大小,即它们是静态大小的。
    一旦我添加了这个属性,除了内部 vbox 之外,没有更多的滚动条了。
    多田!

    【讨论】:

      【解决方案2】:

      您想为父画布重载“updateDisplayList”函数,并强制表单 Vbox 的高度为 canvasHeight-titleHeight(包括填充、空格等),以便 VBox 永远不会增长大于屏幕。这将解决您的问题。只要确保检查 VBox 的存在,因为有时 updateDisplayList 会在实例化之前被调用。

      【讨论】:

        【解决方案3】:

        将表单保存在父画布内的画布中,而不是 VBox。 VBox 和 HBox 设置为在父容器中自动增长,所以如果你的表单增长,你对应的 VBox 也会增长。

        【讨论】:

        • 如果对您有帮助,请评价答案。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-29
        • 2012-01-31
        • 1970-01-01
        • 2011-03-20
        相关资源
        最近更新 更多