Как применить состояния изображения в выпадающем списке искры - PullRequest
1 голос
/ 09 мая 2011

У меня есть спадающий список искры, и я применил к нему пользовательский скин для отображения изображений вместо меток.

<s:DropDownList id="id_cbLineType" 
                skinClass="assets.skins.SkinDropDownImageList"
                itemRenderer="spark.skins.spark.DefaultComplexItemRenderer"
                width="32"
                selectedIndex="0"
                borderAlpha="1"
                change="OnLineTypeChange(event)">
    <s:dataProvider>
        <s:ArrayList>
            <mx:Image source="@Embed('assets/images/mainToolbars/Straight.png')" />
            <mx:Image source="@Embed('assets/images/mainToolbars/Curved.png')" />
            <mx:Image source="@Embed('assets/images/mainToolbars/Angular.png')" />
        </s:ArrayList>
    </s:dataProvider>
</s:DropDownList>

Я применил собственный скин для показа изображений. Теперь я хочу показать разные изображения для вверх, вниз, вниз и отключить состояния на этих изображениях. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 09 мая 2011

Вы должны иметь возможность реализовывать состояния up / over / down / disabled в вашем itemRenderer.Вам нужно будет передать все изображения, поэтому вам, вероятно, придется изменить свой dataProvider.Я бы создал его в ActionScript вместо MXML.Я бы также использовал объект вместо изображения.Вы можете создать свой собственный объект.

Но концептуально это выглядит примерно так:

public var dp : ArrayCollection = new ArrayCollection([
 {upImage='assets/images/mainToolbars/Straight.png',downImage=,'assets/images/mainToolbars/Straight.png',disabledImage='assets/images/mainToolbars/Straight.png',overImage='assets/images/mainToolbars/Straight.png'},
]);

Это будет передано в ваш itemRenderer в качестве свойства данных, а затем вы сможете использовать их для стилизации вашего itemRenderer.вы встраиваете изображения, а не просто ссылаетесь на них;вам придется сделать чуть больше, чем те строки, которые я использую в приведенном выше примере.

0 голосов
/ 09 мая 2011

Вам необходимо создать пользовательский рендерер элементов с этими состояниями и отображать изображения. Вам не нужно использовать изображения в поставщике данных, сами данные изображения, средство визуализации элементов сделает все остальное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...