课程表

Flex课程

工具箱
速查手册

SkinnableContainer类

当前位置:免费教程 » 软件/图像 » Flex

介绍

SkinnableContainer类是具有可视内容的所有可Skinnable容器的基类。

类声明

以下是 spark.components.SkinnableContainer 类的声明:

  1. public class SkinnableContainer
  2. extends SkinnableContainerBase
  3. implements IDeferredContentOwner, IVisualElementContainer

公共属性

S.N.属性和描述
1

autoLayout:Boolean

如果为true,则当孩子的位置或大小改变时,进行测量和布局。

2

creationPolicy:String

此组件的内容创建策略。

3

deferredContentCreated:Boolean

[只读]如果已创建延迟内容,则包含true。

4

layout:LayoutBase

此容器的布局对象。

5

mxmlContent:Array

[只写]此组的可视内容子项。

6

mxmlContentFactory:IDeferredInstance

[write-only]为内容属性创建初始值的工厂对象。

7

numElements:int

[只读]此容器中的可视元素的数量。

公共方法

S.N.方法和描述
1

SkinnableContainer()

构造函数。

2

addElement(element:IVisualElement):IVisualElement

向此容器添加可视元素。

3

addElementAt(element:IVisualElement,index:int):IVisualElement

向此容器添加可视元素。

4

createDeferredContent():void

创建此组件的内容。

5

getElementAt(index:int):IVisualElement

返回指定索引处的视觉元素。

6

getElementIndex(element:IVisualElement):int

返回视觉元素的索引位置。

7

removeAllElements():void

从容器中删除所有可视元素。

8

removeElement(element:IVisualElement):IVisualElement

从此容器的子列表中删除指定的可视元素。

9

removeElementAt(index:int):IVisualElement

从容器中指定的索引位置删除视觉元素。

10

setElementIndex(element:IVisualElement,index:int):void

更改可视容器中现有可视元素的位置。

11

swapElements(element1:IVisualElement,element2:IVisualElement):void

交换两个指定可视元素的索引。

12

swapElementsAt(index1:int,index2:int):void

在容器中的两个指定索引位置交换可视元素。

保护方法

S.N.方法和描述
1

createChildren():void

[override]如果creationPolicy属性不等于none,则创建内容子节点。

2

partAdded(partName:String,instance:Object):void

[override]当添加皮肤部分时调用。

3

partRemoved(partName:String,instance:Object):void

[override]当皮肤部分的实例被删除时调用。

事件

S.N.事件和描述
1

contentCreationComplete

此组件的内容创建后分派。

2

elementAdd

将视觉元素添加到内容持有者时分派。

3

elementRemove

从内容持有者删除视觉元素时分派。

继承的方法

此类继承以下类中的方法:

  • spark.components.supportClasses.SkinnableContainerBase

  • mx.core.UIComponent

  • mx.core.FlexSprite

  • flash.display.Sprite

  • flash.display.DisplayObjectContainer

  • flash.display.InteractiveObject

  • flash.display.DisplayObject

  • flash.events.EventDispatcher

  • Object

Flex SkinnableContainer示例

让我们按照以下步骤通过创建测试应用程序来检查Flex应用程序中SkinnableContainer的使用:

步骤描述
1 Flex - 创建应用程序章节中所述,在包 com.tutorialspoint.client 下创建名为 HelloWorld 的项目。
2 SkinnableContainerSkin 创建一个包含 com.tutorialspoint.skin 下的主机组件 SkinnableContainer / i>章。 保持文件的其余部分不变。
3修改 HelloWorld.mxml ,如下所述。 保持文件的其余部分不变。
4编译并运行应用程序,以确保业务逻辑按照要求工作。

以下是修改的mxml文件 src / com.tutorialspoint / skin / SkinnableContainerSkin.mxml 的内容。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5">
  5. <fx:Metadata>
  6. <![CDATA[
  7. /**
  8. * @copy spark.skins.spark.ApplicationSkin#hostComponent
  9. */
  10. [HostComponent("spark.components.SkinnableContainer")]
  11. ]]>
  12. </fx:Metadata>
  13. <s:states>
  14. <s:State name="normal" />
  15. <s:State name="disabled" />
  16. </s:states>
  17. <s:Rect left="0" right="0" top="0"
  18. bottom="0" radiusX="5" radiusY="5">
  19. <s:stroke>
  20. <s:LinearGradientStroke weight="2"/>
  21. </s:stroke>
  22. <s:fill>
  23. <s:LinearGradient rotation="90">
  24. <s:entries>
  25. <s:GradientEntry color="0xdddddd"/>
  26. <s:GradientEntry color="0x020202" alpha=".5" />
  27. </s:entries>
  28. </s:LinearGradient>
  29. </s:fill>
  30. </s:Rect>
  31. <s:Group id="contentGroup" left="0" right="0"
  32. top="0" bottom="0" minWidth="0" minHeight="0">
  33. <s:layout>
  34. <s:BasicLayout/>
  35. </s:layout>
  36. </s:Group>
  37. </s:Skin>

以下是修改后的mxml文件 src / com.tutorialspoint / HelloWorld.mxml 的内容。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:mx="library://ns.adobe.com/flex/mx"
  5. width="100%" height="100%" minWidth="500" minHeight="500"
  6. >
  7. <fx:Style source="/com/tutorialspoint/client/Style.css"/>
  8. <s:BorderContainer width="630" height="480" id="mainContainer"
  9. styleName="container">
  10. <s:VGroup width="100%" height="100%" gap="50"
  11. horizontalAlign="center" verticalAlign="middle">
  12. <s:Label id="lblHeader" text="Layout Panels Demonstration"
  13. fontSize="40" color="0x777777" styleName="heading"/>
  14. <s:Panel id="skinnableContainerPanel" title="Using SkinnableContainer"
  15. width="500" height="300" >
  16. <s:layout>
  17. <s:VerticalLayout gap="10" verticalAlign="middle"
  18. horizontalAlign="center"/>
  19. </s:layout>
  20. <s:SkinnableContainer
  21. skinClass="com.tutorialspoint.skin.SkinnableContainerSkin"
  22. width="50%" height="50%" horizontalCenter="0"
  23. verticalCenter="0">
  24. <s:HGroup horizontalCenter="0" verticalCenter="0">
  25. <s:BorderContainer width="50" height="50"
  26. borderWeight="2" color="0x323232" />
  27. <s:BorderContainer width="50" height="50"
  28. borderWeight="2" color="0x323232" />
  29. <s:BorderContainer width="50" height="50"
  30. borderWeight="2" color="0x323232" />
  31. </s:HGroup>
  32. </s:SkinnableContainer>
  33. </s:Panel>
  34. </s:VGroup>
  35. </s:BorderContainer>
  36. </s:Application>

准备好所有更改后,让我们以正常模式编译和运行应用程序,就像在 Flex - 创建应用程序中一样 章节。 如果一切顺利,您的应用程序,这将产生以下结果:[在线试用]

Flex SkinnableContainer
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号