2013-08-12 2 views
0

iam learning 플렉스 및 연습 스킨. 그룹 ID = "contentGroup"나는 의 제거하면 : I라는 하나 개의 사용자 정의 스킨을 작성했습니다플렉스 ID contentGroup 질문

: ApplicationContainerSkin.mxml

<?xml version="1.0" encoding="utf-8"?> 
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx"> 

    <s:states> 
     <s:State name="normal" /> 
     <s:State name="disabled" /> 
    </s:states> 


    <fx:Metadata> 
     [HostComponent("spark.components.Application")] 
    </fx:Metadata> 


    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

    <s:Group horizontalCenter="0" verticalCenter="0"> 

     <s:Rect left="0" right="0" top="0" bottom="0" 
       radiusX="10" radiusY="10"> 
      <s:fill> 
       <s:SolidColor color="#CCCCCC" /> 
      </s:fill> 
     </s:Rect> 


     <s:Group id="contentGroup" 
       left="30" right="30" top="30" bottom="30"> 

     </s:Group> 

    </s:Group> 

</s:SparkSkin> 

내 의심 그래서, 난 그냥 하나의 의심의 여지가 있었다, iam이 내 애플리케이션에서 내용을 볼 수 없으므로 'contentgroup'이 필요합니까?

이 ID는 미리 정의되어 있습니다.? 미안, 그 멍청한 질문이지만, 그것을 알고 싶어서. 내가 소스 코드를 확인하려고했지만, 그것을 찾지 못했어요, 아무도 그것이 내 contentGroup id를 사용 후에만 내 렌더링 및 콘텐츠를 어떻게 지정 말해 줄 수 있을까 .. .? (내 말은 내부적으로 어떻게 작동합니까?)

응답을 기다리고 있습니다!

답변

1

Skinnable Spark 구성 요소는 ID로 식별되는 "스킨 부품"을 지정합니다. 이 추가 된 경우 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Application.html#SkinPartSummary

응용 프로그램 클래스합니다 (contentGroup 피부의 일부를 사용 : 당신이 여기 문서에서 볼 수 있듯이, contentGroup 및 controlBarGroup -

당신이 스키닝하는 응용 프로그램 구성 요소는,이 개 피부 부분을 정의 스킨에서) 콘텐츠를 배치합니다. 피부 부위는 필수적 일 수도 있고 그렇지 않을 수도 있습니다. contentGroup 부분은 필수 항목이 아니므로 내용을 생략하면 내용이 표시되지 않습니다.

+0

동의! 그렇지만 contentGroup을 사용하여 어떻게 표시합니까? 명확하게하려면 내부적으로 어떻게 작동합니까? –

+0

SkinnableComponent에 partAdded 메소드가 있습니다. 이 방법에서는 구성 요소가 어떤 부분이 추가되었는지 확인하고 적절하게 사용합니다. 이 경우 그룹을 사용하여 콘텐츠를 배치합니다. – yclevine

+0

SkinnableContainerGroup- 구성 요소의 'addElement'함수와 그 파생어를 덮어 쓰면 'contentGroup'에 내용이 추가됩니다. 따라서 mxml을 통해 무언가를 추가하면 컴파일러에서 'mxmlContent'배열에 배열을 작성한 다음 런타임에 'addElement'를 통해 displayList에 추가합니다. 이것은 약간 간단한 설명 일 수도 있지만 대략적으로 어떻게 작동합니까? –