0
A
回答
1
作为@ www.Flextras.com建议的,看的源代码可以是有用的。 TileLayout
有一个名为getElementNearestScrollPosition()
的方法,它将为您提供最接近您指定的Point
的元素索引。但是,此方法隐藏在Flex的mx_internal
名称空间中,因此它将从ASDoc中排除。
这是一个简单的例子,似乎工作。我没有显示itemRenderer。
Main.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*">
<fx:Script>
<![CDATA[
import mx.core.mx_internal;
use namespace mx_internal;
protected function list1_clickHandler(event:MouseEvent):void
{
var localPointInList:Point = list.globalToLocal(new Point(event.stageX, event.stageY));
trace(tileLayout.getElementNearestScrollPosition(localPointInList));
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayCollection id="foo">
<fx:Object date="Jan 1, 2012"/>
<fx:Object date="Jan 1, 2013"/>
<fx:Object date="Jan 1, 2014"/>
</s:ArrayCollection>
</fx:Declarations>
<s:layout>
<s:HorizontalLayout />
</s:layout>
<s:Button label="I'm a button"/>
<s:List id="list" dataProvider="{foo}" itemRenderer="TestRenderer" click="list1_clickHandler(event)">
<s:layout>
<s:TileLayout id="tileLayout" requestedColumnCount="2" />
</s:layout>
</s:List>
</s:Application>
请注意,我在做局部和全局坐标之间的一些转换。您需要这样做,将MouseEvent
中的全局坐标转换为List
的坐标空间。我还为主应用添加了一个Button
,仅用于测试此转换...按钮的存在使其成为列表的本地坐标与全局坐标不匹配。如果列表放置在原点(0,0),坐标空间之间的这种转换不是必要的......但在实际应用中很少发生这种情况。
相关问题
- 1. Picmonkey拼贴布局的Javascript
- 2. Flexbox拼贴网格布局
- 3. 拼合在火花阶的元素
- 4. 通过udf火花拼写校正
- 5. 从丢失,火花
- 6. 火花2到火花1.6
- 7. 与Android布局拼搏
- 8. 如何通过动作操作火花/ MX组件的布局?
- 9. 在渲染时动态选择火花主控布局
- 10. 花括号默认布局
- 11. 如何从代码点火器库内调用火花库
- 12. 火花:火花CSV时间过长
- 13. H20与火花水的火花差异
- 14. 火花
- 15. 火花数据帧是否分布?
- 16. 从mongodb读取火花
- 17. 从火花提取值RDD
- 18. 无法从火花/阶
- 19. 要火花还是不火花?
- 20. 柔性火花列表在火花画布组件上拖放一个项目
- 21. 写拼花到NFS
- 22. 如何调整geom拼贴中的拼贴高度?
- 23. 从外部局域网使用火花集群的问题
- 24. 找到火花
- 25. 火花 - 与阶
- 26. 基于jQuery图像拼接墙布局
- 27. 的火花
- 28. 阿帕奇星火S3未能拼花文件从临时文件夹
- 29. 获取在火花
- 30. Skype Phone在Windows Phone 8上使用哪种类型的拼贴布局?
“点”是什么意思?你指的是x,y坐标吗?或者是其他东西?据我所知,没有办法根据x,y坐标获取项目。不过,您可以查看ASDoc和源代码。 – JeffryHouser