【问题标题】:Flex: List with VBOX-type (smooth) scrolling?Flex:带有 VBOX 类型(平滑)滚动的列表?
【发布时间】:2010-01-14 18:28:14
【问题描述】:

我有一个使用自定义 itemRenderer 和自定义 itemEditor 的列表控件。 itemRenderer/Editor 是 textarea 控件,每个控件至少有 3 行文本。

列表控件的默认滚动特性是按项目滚动,而不是按 VBOX 滚动的某些像素数。

我希望我的列表控件具有更多的文字处理器外观,向下滚动将一次滚动一行文本。因为每个列表项至少包含 3 行文本,向下滚动会跳过所有三行并将下一个列表项定位在列表控件的顶部。

有什么建议吗?

我试图弄清楚如何编写一个可以像列表一样工作的自定义 VBOX,但我是 flex 新手——而且我只编程了一年。 ....不确定从哪里开始。

谢谢!

【问题讨论】:

    标签: apache-flex actionscript-3 list mxml vbox


    【解决方案1】:

    使用 Flex 4 中的 Spark List 控件(测试版可用)。它的“Scroller”界面更加灵活。

    【讨论】:

    • (可能)愚蠢的问题...如果我在我的机器上用 Flex 4 设计这个组件,它可以编译,然后并入我们公司正在构建的更大的 Flex 3 项目中吗?我不确定它是如何工作的。否则很遗憾它不会有什么好处
    【解决方案2】:

    关于在我们的应用程序中使用 Flex 4 组件的评论没有得到答复。

    但是,我推断如果我的要求是包含大量控件的大型列表,则不可能拥有具有可变行高的平滑滚动列表。

    由于列表控件不会一次实例化其所有项,因此无法根据所有控件的总高度确定所需的最小和最大滚动值。它只能从它包含的控件的 NUMBER 个中确定这些值。无赖:-(

    【讨论】:

      【解决方案3】:

      我在使用带有文本和拇指的项目渲染器时遇到了类似的问题。通过使列表在显示之前呈现其所有项目,将列表包装在滚动条和组中,并关闭列表本身内部的滚动来解决它。确保你没有指定列表高度——让 flex 来做吧。

      我的代码:(出于某种原因,我不得不将滚动条放在一个组中以使其工作)

      <s:Group width="100%"  height="100%">
        <s:Scroller width="100%" height="100%" horizontalScrollPolicy="off" id="listScroll">
          <s:Group width="100%" height="100%">
            <s:List dataProvider="{arrData}" itemRenderer="renderers.ListingItemRenderer"
              verticalScrollPolicy="off" click="listingSelected()" width="100%" />
          </s:Group>
        </s:Scroller>
      </s:Group>
      

      【讨论】:

        猜你喜欢
        • 2010-12-22
        • 1970-01-01
        • 2019-12-05
        • 1970-01-01
        • 2017-02-14
        • 1970-01-01
        • 2018-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多