Flash Flex:为什么';SpriteVisualElement是否遵循布局?
在下面的代码中,我在垂直布局中的滑块之前添加了一个SpriteVisualElement。每当我编译和运行时,滑块总是将自身定位在sprite元素的前面,而不是它的下面。这是一个flash bug还是我做错了什么?这个问题有什么解决办法吗Flash Flex:为什么';SpriteVisualElement是否遵循布局?,flash,apache-flex,Flash,Apache Flex,在下面的代码中,我在垂直布局中的滑块之前添加了一个SpriteVisualElement。每当我编译和运行时,滑块总是将自身定位在sprite元素的前面,而不是它的下面。这是一个flash bug还是我做错了什么?这个问题有什么解决办法吗 <s:layout> <s:VerticalLayout/> </s:layout> <s:SpriteVisualElement id="container" includeInLayout="true"/&
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:SpriteVisualElement id="container" includeInLayout="true"/>
<s:HSlider/>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function creationComplete_handler(event:FlexEvent):void
{
var canvas:Shape = new Shape();
canvas.graphics.lineStyle(1,0);
canvas.graphics.beginFill(0);
canvas.graphics.drawRect(0,0,480,360);
canvas.graphics.endFill();
container.addChild(canvas);
}
]]>
</fx:Script>
这是因为您的
SpriteVisualElement
没有大小。其宽度
和高度
为0
。你仍然可以看到黑色方块,因为它溢出了,但是它没有被测量,因为它是一个纯动作脚本图形
因此,要解决您的问题,只需给容器
一个大小:
<s:SpriteVisualElement id="container" width="480" height="360" />
<s:HSlider/>
<s:Rect width="480" height="360">
<s:fill>
<s:SolidColor color="0xff0000" />
</s:fill>
<s:stroke>
<s:SolidColorStroke color="0x00ff00" weight="1" />
</s:stroke>
</s:Rect>
<s:HSlider/>