请问Flex中 组件的遮挡关系有关问题,确实太困惑了
请教Flex中 组件的遮挡关系问题,确实太困惑了。
小弟最近在学习Flex开发,在研究在Canvas中放置多个组件以及他们的位置关系。从一些书中可以了解到,如果Canvas调用addChild()添加一幅图片,则添加的图片最被置为最顶层,现在我想改变Canvas中子组件的置顶关系,于是写出以下测试程序:
这个程序在c这个Canvas中画出了2个矩形,大的为白色,小的为红色。运行程序,可以通过点击button改变两个矩形位置关系。完全正常!
下面做一点改动,在c这个Canvas中添加css效果,代码改变如下:
运行程序,此时无反映。测试程序,如果将中间两个矩形去掉,只保留<mx:Canvas id="c" borderStyle="solid">
在doclick中设置断点,然后执行,查看c的值,发现c的numChildren值为1,太惊讶了,不是没有子组件吗?各位兄弟知道是怎么回事吗?
------解决方案--------------------
搞不懂,纯up一下~~~
------解决方案--------------------
好高级的问题,飘过……学习
小弟最近在学习Flex开发,在研究在Canvas中放置多个组件以及他们的位置关系。从一些书中可以了解到,如果Canvas调用addChild()添加一幅图片,则添加的图片最被置为最顶层,现在我想改变Canvas中子组件的置顶关系,于是写出以下测试程序:
- XML code
<?xml version="1.0"?> <!-- Simple example to demonstrate the DateTimeAxis class. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ internal function doclick():void { c.swapChildrenAt(0,1); } ]]> </mx:Script> <mx:Canvas id="c" > <mx:Canvas backgroundColor="0xffffff" width="200" height="200" /> <mx:Canvas backgroundColor="0xff0000" width="100" height="100" /> </mx:Canvas> <mx:Button label="Button" click="doclick()"/> </mx:Application>
这个程序在c这个Canvas中画出了2个矩形,大的为白色,小的为红色。运行程序,可以通过点击button改变两个矩形位置关系。完全正常!
下面做一点改动,在c这个Canvas中添加css效果,代码改变如下:
- XML code
<?xml version="1.0"?> <!-- Simple example to demonstrate the DateTimeAxis class. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()"> <mx:Script> <![CDATA[ internal function doclick():void { c.swapChildrenAt(0,1); } ]]> </mx:Script> <mx:Canvas id="c" borderStyle="solid" > <mx:Canvas backgroundColor="0xffffff" width="200" height="200" /> <mx:Canvas backgroundColor="0xff0000" width="100" height="100" /> </mx:Canvas> <mx:Button label="Button" click="doclick()"/> </mx:Application>
运行程序,此时无反映。测试程序,如果将中间两个矩形去掉,只保留<mx:Canvas id="c" borderStyle="solid">
在doclick中设置断点,然后执行,查看c的值,发现c的numChildren值为1,太惊讶了,不是没有子组件吗?各位兄弟知道是怎么回事吗?
------解决方案--------------------
搞不懂,纯up一下~~~
------解决方案--------------------
好高级的问题,飘过……学习