0

我正在学习 Flex 和练习皮肤。所以,我只有一个疑问:

我编写了一个名为: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>

我的疑问: 当我删除s:Group id="contentGroup"时,我无法在我的应用程序中看到任何内容,那么为什么这个 ' contentGroup ' id 是必要的?

这个 id 是在哪里预定义的。?抱歉,如果它是一个菜鸟查询,但我很想知道它。我什至尝试检查源代码,但我没有找到它,谁能告诉我它指定的位置以及我的内容如何仅在使用此 contentGroup id 后呈现。 .? (我的意思是,它在内部是如何工作的?)

等待您的回复!

4

1 回答 1

1

可换肤 Spark 组件指定由 id 标识的“皮肤部件”。

您正在剥皮的应用程序组件定义了 2 个皮肤部分 - contentGroup 和 controlBarGroup,您可以在此处的文档中看到:http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components /Application.html#SkinPartSummary

Application 类使用 contentGroup 皮肤部分(如果已添加到皮肤中)来布置内容。可能需要或不需要皮肤部件。contentGroup 部分不是必需的,因此当您将其省略时,内容就不会显示。

于 2013-08-12T07:28:55.960 回答