2013-07-12 5 views
0

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

Почему я задал этот вопрос? Я хотел установить представление Spark List, но когда я создаю новый Item Renderer, некоторые свойства по умолчанию изменяются, например. разделительная линия удаляется или изменяется свойство высоты для каждой области элемента.

Или, как указать класс скинов по умолчанию на пользовательский?

ответ

3

Классы скинов по умолчанию являются частью Flex SDK. Поэтому вы не можете их изменить, если вы не отредактируете классы в SDK и сделаете все необходимые шаги для его перекомпиляции. Очевидно, что это не очень хороший подход.

Вместо этого вы должны расширить классы скинов, которые вы хотите изменить. После этого вы можете использовать CSS, чтобы сделать ваш новый класс скина по умолчанию для данного компонента.

Пример Класс кожи:

package com.mycompany.skins 
{ 
    import spark.skins.spark.ButtonSkin; 

    public class MyButtonSkin extends ButtonSkin 
    { 
     // add new properties or set new values on existing properties 
     public myCustomProperty:Boolean = true; 
    } 
} 

УС:

s|Button { 
    skinClass: ClassReference("com.mycompany.skins.MyButtonSkin"); 
} 

Другой подход заключается в том, чтобы расширить класс кожи, как указано выше. Однако, вместо того, чтобы использовать CSS, чтобы сделать его кожу по умолчанию, необходимо указать класс кожи каждого компонента:

<s:Button id="myButton" skinClass="com.myCompany.skins.MyButtonSkin" /> 

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

Смежные вопросы