에서 렌더러를 얻습니다. 지정된 점에서 항목을 가져 오기 위해 스파크 타일 목록에 내장 된 메서드가 있습니까?점 타일 레이아웃 - 점
감사합니다 @ www.Flextras.com으로
에서 렌더러를 얻습니다. 지정된 점에서 항목을 가져 오기 위해 스파크 타일 목록에 내장 된 메서드가 있습니까?점 타일 레이아웃 - 점
감사합니다 @ www.Flextras.com으로
유용 할 수있는 소스 코드를 찾고 제안했다. TileLayout
에는 사용자가 지정하는 Point
에 가장 가까이 위치한 요소의 인덱스를 제공하는 getElementNearestScrollPosition()
이라는 메서드가 있습니다. 그러나이 메서드는 Flex의 mx_internal
네임 스페이스에 숨겨져 있으므로 ASDocs에서 제외됩니다.
다음은 작동하는 것처럼 보이는 간단한 예입니다. 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)에 배치 된 경우 좌표 공간 간의 변환은 필요하지 않지만 ... 실제 애플 리케이션에서는 거의 발생하지 않습니다.
"포인트"는 무엇을 의미합니까? x, y 좌표를 말하고 있습니까? 또는 다른 것? 지금까지 내가 아는 한 x, y 좌표를 기반으로 항목을 가져올 방법이 없습니다. 하지만 ASDocs와 소스 코드를 검토 할 수는 있습니다. – JeffryHouser