VBox的Bug

<?xml version = "1.0" encoding = "utf-8"?>
<mx:Application xmlns:mx = "http://www.adobe.com/2006/mxml" layout = "absolute" creationComplete = "onCreateComplete()">
    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            import mx.controls.Label;
            import mx.containers.Canvas;

            private function onCreateComplete():void
            {
                testCanvas();
            }

            private function testCanvas():void
            {
                for (var i:uint=0; i < 10; i++)
                {
                    var canvas:Canvas=new Canvas();
                    canvas.setStyle("backgroundColor", "0xABABAB");
                    var label:Label=new Label();
                    label.text="Test" + i;
                    label.width=30000;
                    canvas.addChild(label);
                    vbox.addChild(canvas);
                }
            }
        ]]>
    </mx:Script>
    <mx:VBox id = "panels">
        <mx:VBox id = "vbox" verticalGap = "1">
        </mx:VBox>
    </mx:VBox>
</mx:Application>

 

 

如果按上面的操作, VBox完全可以显示这些创建的canvas组件,包括canvas里面的Label. 但是如果设置了VBox的height属性,则这些Canvas可能显示不出来,而只能显示一部分.这个BUG就是如果设置了height,而且里面的子对象的总高度已经超过该height,则VBox在布局上会发生计算错误,导致Canvas断裂,而呈现每块为10000px的断裂块.块与块之间是透明不可见的.如设置:

<mx:VBox id = "vbox" verticalGap = "1" height="400" >

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值