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