【问题标题】:Move scrollbar in Flex3 UI在 Flex3 UI 中移动滚动条
【发布时间】:2012-10-09 20:13:10
【问题描述】:

我需要显示垂直滚动条,当可见时,不是在右侧(默认),而是在屏幕的左侧。 该应用程序是用 Java 编写的,在 Websphere 上运行,UI 采用 Flex 3。 带有滚动条的容器是 VBox,从 VBox 扩展的自定义对象,在另一种情况下是 DataGrid。 到目前为止,这是我尝试过的:

这会在初始渲染时在左侧绘制滚动条,然后立即将其移动到右侧。

   if( verticalScrollBar && verticalScrollBar.visible )
     {
       verticalScrollBar.x = -verticalScrollBar.width;
     }

这似乎完全被忽略了:

protected override function updateDisplayList( unscaledWidth:Number, unscaledHeight:Number ):void
{
    super.updateDisplayList( unscaledWidth, unscaledHeight );
    if( verticalScrollBar && verticalScrollBar.visible )
    {
        verticalScrollBar.x = -verticalScrollBar.width;
    }
}

也试过设置

verticalScrollBar.x = 0;

没有什么不同。

这些是我在onlineStackoverflow 上找到的唯一建议。
如何才能做到这一点?

【问题讨论】:

  • 使用 Flex4 很简单。在 Flex3 (afaik) 中无法完成 - 没有重大黑客攻击。
  • 那太糟糕了。感谢您的评论!

标签: apache-flex layout flex3 scrollbar


【解决方案1】:

试试这样的:

override public function validateDisplayList():void {
    super.validateDisplayList();
    if (verticalScrollBar && verticalScrollBar.visible) {
        verticalScrollBar.x = 0;
    }
}

【讨论】:

  • 我希望你注意到这不是updateDisplayList 方法而是validateDisplayList?它对我有用,除了我不知道如何帮助你。
  • 是的,我按照您的建议更改了覆盖的方法名称。但它似乎也没有被调用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多