Есть ли способ объявить скин встроенным? - PullRequest
0 голосов
/ 31 октября 2010

Есть ли способ объявить встроенную обложку в компоненте Flex 4 MXML? Если не встроенный в компоненте, то в объявлениях или тегах библиотеки? Thx

Ответы [ 2 ]

3 голосов
/ 20 марта 2014

Да, вы можете в теге объявлений:

<s:Application>

<fx:Declarations>
    <fx:Component className="testSkin">
        <s:Skin>
            <s:Rect width="100%" height="100%">
                <s:fill>
                     <s:SolidColor/>
                </s:fill>
            </s:Rect>
            <s:Group id="contentGroup"/>
        </s:Skin>
    </fx:Component>  
</fx:Declarations>

<s:SkinnableContainer skinClass="{Class(testSkin)}"/>

</s:Application>

Приведенный выше код является лишь руководством, не ожидайте его компиляции.

В моих тестах нет потери производительности при использовании встроенных скинов.

2 голосов
/ 31 октября 2010

Используйте стиль skinClass.

В MXML, вот так:

<s:List skinClass="com.myCustomSkins.MyCustomListSkin" />

В ActionScript сделайте что-то вроде этого:

 myListClass.setStyle('skinClass',com.myCustomSkins.MyCustomListSkin);

В CSS сделайте что-то вроде этого:

myListClass{
 skinClass : ClassReference(com.myCustomSkins.MyCustomListSkin);
}

Я не уверен, что такое тег библиотеки, на который вы ссылаетесь в своем вопросе Этот код из памяти, поэтому мой синтаксис может быть немного не так.

...