Flex4 画面常见问题备忘

1:Flex SDK4 Scroller消失

 

<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/halo" 
      width="100%" height="100%">
      <s:Panel width="400" height="100" title="Panle">
            <s:layout>
                  <s:VerticalLayout horizontalAlign="center" paddingTop="30"/>
            </s:layout>
            <s:VGroup width="100%" height="100%">
                  <s:Button width="200" label="tesing1" />
                  <s:Button width="200" label="tesing2" />
                  <s:Button width="200" label="tesing3" />
            </s:VGroup>
      </s:Panel>
</s:Application>

 写下如上代码,我们会认为:

 

Panel容器会显示滚动条,以便正好能“装下”这三个button组件。
如果以上代码在halo组件中或者Flex SDK 3里面,这是理所当然的事情。

但是在Flex SDK 4(Gumbo)里面,却没有这样实现。而是VGroup的边界超出了Panel的边界。

 

查看了一下原因,很可惜,Gumbo明显是把Scroller作为一个单独的控件使用,如果实现预期效果,请采用如下一段:

 

<s:Panel width="400" height="100" title="Panle">
     <s:layout>
          <s:VerticalLayout horizontalAlign="center" paddingTop="30"/>
     </s:layout>
     <s:Scroller width="100%" height="100%">
          <s:VGroup width="100%" height="100%">
               <s:Button width="200" label="tesing1" />
               <s:Button width="200" label="tesing2" />
               <s:Button width="200" label="tesing3" />
          </s:VGroup>
     </s:Scroller>
</s:Panel>

 2:ViewStack高度异常问题

 

其实很简单的一个注意地方,当使用了ViewStack并且将其height设定为100%,同时在其中添加了多个child container(A 和 B)。那么ViewStack的高度将会怎样呢?
这个例子可以应用与:多个组件而不同的状态,例如:在某些情况我需要显示A的UI,另外在某些地方我需要显示B的UI,然而它们的高度与宽度都是不一样的,那么假设A的高度要大于B的高度,
那么当我想要显示B的时候,就会发生如下的问题,虽然我将其Application的高度设定的与B一致,按照通常的做法,由于ViewStack的height为100%,那么则认为它与Application的高度是一致的
那么那个空白的边是如何出现的呢?
其实这个地方在使用ViewStack的时候,有一个注意点,那就是:
当ViewStack的height设定为100%时,ViewStack的高度不会与Application的高度一直,而它的高度会根据其中的最高的那个child一致。其实这个特性在简单的例子中是非常容易被发现的,但是假设在做项目的时候,很多的height都设定为100%
同时又包含了多个container,那么这个时候是非常难发现的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值