2013-06-07 8 views
0

관련된 스킨에 DropDownList 및 itemRenderer가 있습니다. 내 itemRenderer의 항목은 내 DropDownList에 swf 파일을 표시하는 SWFLoader 객체입니다. 각 행의 높이 27px해야합니다, 그래서 각 행에서이를 적합하게 내 SWFLoader의 객체의 높이와 폭을 감소하고, 이러한 ATTS을 설정DropDownList의 itemRenderer 항목 위로 이동

verticalCenter="2" verticalAlign="middle" 

은 각 행을 정렬 할 수 있습니다. 하지만 내 SWFLoader의 내용이 너비/높이가 다르므로 서로 겹치는 항목의 마우스 호버링 문제가 있습니다.

다음
mouseEnabled="false" mouseChildren="false" 

내 코드에 대한 간단한이다 : 나는 또한 여전히 변경 내 SWFLoader의 이러한 설정,하지만

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      autoDrawBackground="true" 
      height="27" width="100%"> 
<fx:Script> 
    <![CDATA[   
     override public function set data(value:Object):void{ 
      super.data = value; 
      // rest of codes 
     }   
    ]]> 
</fx:Script> 

<s:SWFLoader left="5" right="5" 
      height="65" 
      verticalCenter="2" verticalAlign="middle" 
      mouseEnabled="false" mouseChildren="false" 
      source="{data}" smoothBitmapContent="true" /> 

어떤 조언을?!

+0

를 도움이됩니다. 또한 렌더러의 높이를 27로 설정했는데 렌더러 내부의 SWFLoader의 높이가 65 인 이유는 무엇입니까? –

+0

1) 다음과 같이 상상할 수 있습니다. 드롭 다운 목록에 5 개의 항목이 있습니다. 두 번째 항목에는 커서를 올려 놓지 만 세 번째 항목에는 강조 표시가 나타납니다 !!/2) 생성 된 SWFLoader 내용의 상단과 하단에 빈 공간이 있습니다. 따라서 '65'를 유지하면 셰이프가 각 행에 올바르게 표시되지만 '27'로 설정하면 해당 뱅크 공간을 기준으로 전체 컨텐트의 크기가 줄어 듭니다 (어떤 이유로 빈 공간을 제거 할 수 없음) – borna

답변

0

문제는 SWFLoader가 마우스 이벤트를 잡는 것이 었습니다. 그래서 캔버스에 놓고 ItemRenderer에 mouseChildren="false"을 설정했습니다. 0 캔버스의 또한 설정 스크롤 정책 :

horizontalScrollPolicy="off" verticalScrollPolicy="off" 

이제 SWFLoader의 마우스 이벤트를 캐치하지 않고 드롭 다운리스트에서 항목을 유혹하는 것은 서로 중복되지 않습니다.

P.S : 감사 한 내 동료는 내가 당신이 어쩌면 스크린 샷 도움이 될, 마우스를 가져 가면 문제가 무엇인지 이해 확실하지 않다 나에게 약 :