2013-06-07 7 views
0

У меня есть DropDownList и itemRenderer для него на связанном скине. Элементы itemPenderer - это объект SWFLoader, который показывает swf-файлы в моем DropDownList. Высота каждой строки должен быть 27px, поэтому я уменьшил высоту и ширину моего объекта SWFLoader, чтобы сделать их пригодными в каждом ряду, а также установить эти ATTS:Элементы наведения элемента ItemDenderer DropDownList

verticalCenter="2" verticalAlign="middle" 

, чтобы выровнять их в каждом ряду. Но поскольку содержимое моего SWFLoader имеет разную ширину/высоту, у меня проблема с зависанием мыши элемента, которые перекрывают друг друга. Я также установить их для моего SWFLoader, но до сих пор никаких изменений:

mouseEnabled="false" mouseChildren="false" 

Вот краткое моего кода:

<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 ловил события мыши. Поэтому я просто разместил его на холсте и установил mouseChildren="false" для ItemRenderer. также установить политику прокрутки Холста 0:

horizontalScrollPolicy="off" verticalScrollPolicy="off" 

Теперь SWFLoader не поймать события мыши и зависания элементов в DropDownList не перекрывают друг друга.

P.S: Спасибо один из моих коллег, чтобы помочь мне о :)