2

我应该如何创建链接的水平列表,以便通过列表末尾的动态下拉菜单仍然可以使用溢出的链接?

我希望能够创建一个链接(或按钮)列表,以便在有足够的水平空间时显示所有链接。当水平空间不足时,溢出的链接将出现在链接列表末尾的下拉菜单中。我正在使用 Flex SDK 4.5.1。

这种期望的行为如下所示。

在此处输入图像描述

在尝试创建多部分自定义组件、使用自定义布局以及在互联网上进行相当广泛但不成功的研究之后,我还没有接近可行的解决方案。

我应该如何创建链接的水平列表,以便可以通过主列表末尾的下拉列表获得溢出的链接

4

2 回答 2

2

经过大量研究、阅读和许多原型后,我完成了一个解决方案,该解决方案在这个特定场景中运行得足够好;虽然,组件和皮肤之间的耦合比我想要的要高一些。

我基于 spark 创建了一个自定义组件BorderContainer。组件布局大致为:

-- BorderContainer
  -- Scroller
    -- Group
      -- DataGroup
      -- Button
      -- PopUpAnchor
        -- Group
        -- Rect
        -- DataGroup

第一个DataGroup包含项目的主要列表。这些是水平显示的。通过覆盖updateDisplayList自定义组件,我可以测量其中的每个项目DataGroup并确定它是否适合可用区域。那些不适合的将被隐藏(不删除)并添加到不显示列表中。

不显示列表中的那些项目被添加到第二个DataGroup。这是下拉列表。将其DataGroup包含在 a 中PopUpAnchor允许我添加类似行为的下拉菜单。Button用于弹出和关闭第二个DataGroup

于 2012-07-14T14:59:44.383 回答