【问题标题】:Flex 3: scrolling of list items with in a list via scroll wheelFlex 3:通过滚轮在列表中滚动列表项
【发布时间】:2009-12-31 01:53:12
【问题描述】:

这是我的代码中的一个片段:

<mx:Panel id="recPanel" title="I have the following helpful recommendations for you:"
verticalScrollPolicy="off" width="100%" height="180">
<mx:List dataProvider="{recommendations}" wordWrap="true" variableRowHeight="true"
    verticalScrollPolicy="auto" width="100%" height="100%" />
</mx:Panel>

'recommendations' dataProvider 是一个String的ArrayCollection,一般都是这么长的句子。通过设置 variableRowHeight 和 wordWrap 属性,如图所示,如果一个句子太长而不能放在一行中,一切都会正常进行 - 行扩展并且消息显示在两行,有时是三行。

在整个画布中分配给此面板的空间意味着如果“建议”的总文本大小超过六行,我需要整个列表滚动。这也工作得很好。问题是当使用鼠标滚轮进行滚动时——Flex 会滚动整个列表和鼠标悬停的单个项目。通常这会导致只有句子的后半部分可见。我要求非程序员的朋友看看这个注意到了这一点,并告诉我这是一个问题。如果用户没有注意到双重滚动,而只看到句子的片段,则会被认为是应用程序中的错误。

我尝试过放入 itemRenderer,既可以作为插件也可以作为组件。如果渲染器关闭了veritcalScrollPolicy,它解决了项目内的滚动,但意味着整个列表不会随着滚轮滚动,只能使用滚动条。

我更愿意找到一个两全其美的解决方案:允许列表的鼠标滚轮,但防止滚动其中的单个项目。欢迎任何想法。

【问题讨论】:

    标签: apache-flex list scroll


    【解决方案1】:

    我会尝试在关闭滚动策略的情况下使用您的项目渲染器,然后将事件侦听器添加到您的列表中以向上和向下滚动滚轮,并设置垂直滚动位置 += 10 上滚轮和 -=10 滚轮向下(玩弄数字看看什么是正确的。

    我会给你更好的代码示例,但我的 flex builder 副本今天过期了,我正在等待 IT 为我获取许可证。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 2013-04-06
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多