2013-07-12 6 views
0

기본 class.But에서 하나의 속성을 설정하고 싶지만 아직 성공적으로 수행 할 수 없습니다.기본 스파크 스킨 클래스를 수정하는 방법은 무엇입니까?

왜 내가이 질문을 했습니까? 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; 
    } 
} 

CSS는 :

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

다른 방법은 위의 피부 클래스를 확장하는 것입니다. 대신 그것을 기본 스킨을 만들기 위해 CSS를 사용하지만, 당신은 각 구성 요소에 스킨 클래스를 지정합니다 :

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

이 분명히 CSS를 사용하는 것보다 더 지루한,하지만 당신은 선택적으로 원하는 스킨을 적용하게됩니다 그것.

관련 문제