在flex中运行时向组添加边框

时间:2011-10-17 04:08:54

标签: actionscript-3 flex actionscript flash-builder

我试图在运行时在flex中创建一组spark类型。我在运行时将这些按钮作为该组的子项。我想为所有组添加边框。但是,当我使用边框容器时,它隐藏所有其他子项和组容器中的东西,只显示边框容器屏幕。如何向组添加边框。

请注意,我在运行时将边框容器添加为组容器的子容器。

最好的问候

1 个答案:

答案 0 :(得分:7)

您可以在特定索引处添加s:Rect子项作为边框。

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

<fx:Script>
    <![CDATA[
        import mx.graphics.SolidColorStroke;

        import spark.primitives.Rect;

        protected function addNewBorderButtonClick(event:MouseEvent):void
        {
            var borderRect:Rect = new Rect();
            var solidStroke:SolidColorStroke = new SolidColorStroke(0, 3);
            borderRect.stroke = solidStroke;
            borderRect.percentWidth = borderRect.percentHeight = 100;

            targetGroup.addElementAt(borderRect, 0);
        }
    ]]>
</fx:Script>

<fx:Declarations>
</fx:Declarations>

<s:Group id="targetGroup" 
         width="100" height="100"
         horizontalCenter="0" verticalCenter="0">
    <!-- some visual elements here -->
    <s:Button id="addNewBorderButton" 
              label="Add Border"
              horizontalCenter="0" verticalCenter="0"
              click="addNewBorderButtonClick(event)" />
</s:Group>
</s:Application>

希望这有帮助,

火焰