以编程方式将 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 的滚动条位置?