以编程方式将 flex spark 数据组滚动到最大数量

Posted

技术标签:

【中文标题】以编程方式将 flex spark 数据组滚动到最大数量【英文标题】:Scroll flex spark datagroup to maximum amount programmatically 【发布时间】:2011-09-29 15:43:35 【问题描述】:

我有一个 spark 可换肤组件,其中包含一个带有图像的数据组。通过将鼠标悬停在数据组上来滚动数据组。一切正常,除了一件事:更改数据组提供程序后,我需要自动向下滚动。问题是我设置提供程序后图像没有立即加载,所以(contentHeight - height) 还不能代表实际的最大滚动位置。是否有一种简单的方法可以告诉数据组在其内容加载时向下滚动?因为解决方法似乎不是那么简单。

这是滚动的代码(thumbnailStrip 是我的数据组):

private function thumbnailStrip_mouseMoveHandler(evt:MouseEvent):void 

            var fr:Number = (thumbnailStrip.contentHeight - thumbnailStrip.height) / thumbnailStrip.height;
            var scroll:Number = fr * evt.stageY - fr * this.y;

            var ms:Number = maxScroll();
            if(scroll > ms) scroll = ms;

            thumbnailStrip.verticalScrollPosition = scroll;
        

        private function maxScroll():Number 
            return thumbnailStrip.contentHeight - thumbnailStrip.height;
        

谢谢, 卡林

【问题讨论】:

请显示一些代码,说明您现在正在做什么,以及数据组是如何滚动的。 【参考方案1】:
thumbnailStrip.layout.verticalScrollPosition += thumbnailStrip.layout.getVerticalScrollPositionDelta(NavigationUnit.END);

这可能需要运行几次才能一直到底部。它应该返回当前滚动位置和滚动位置“结束”之间的差异。随着事情的发展,我会继续在“callLater”中调用它。

顺便说一句,这里有一个错误:http://bugs.adobe.com/jira/browse/SDK-25740 不确定它是否已在 4.5 中修复,这里丑陋的解决方法:http://flexponential.com/2011/02/13/scrolling-to-the-bottom-of-a-spark-list/

【讨论】:

以上是关于以编程方式将 flex spark 数据组滚动到最大数量的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flex 中控制 Spark Datagrid 的滚动条位置?

以编程方式设置 ViewPager 高度会自动滚动到最底部

如何更改 flex 4 spark 数据组的一个成员的 itemRenderer 的状态?

以编程方式将Tableview滚动到未来日期

以编程方式将几列添加到 Spark DataFrame

您如何以编程方式将 Flex TextArea 的插入符号移到末尾?