Flex ViewStack高度异常问题

所属分类: 网页制作 / Flash 阅读数: 1035
收藏 0 赞 0 分享
其实很简单的一个注意地方,当使用了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,那么这个时候是非常难发现的,跟大家在说一个技巧:如果遇到这样的情况,那么将这些多个container用不同的背景色加以区分,最后就可以看到是哪个container出现问题了!还是那句话,可能这个特性已经很多人知道了,但是我还是要在这里指出,做一个备份和让不知道的朋友也了解一下,免得多走弯路:)具体请看如下的代码:(代码是在componentexplorer的基础上修改的。)
复制代码 代码如下:

<?xml version="1.0"?>
<!-- Simple example to demonstrate the ViewStack layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" height="500" creationComplete="{ myViewStack.selectedIndex = 1 }">
<!-- Define the ViewStack and the three child containers and have it
resize up to the size of the container for the buttons. -->
<mx:ViewStack id="myViewStack" borderStyle="solid" width="100%" height="100%">
<mx:Canvas id="search" backgroundColor="#FFFFCC" label="Search" width="100%" height="100">
<mx:Label text="Search Screen" color="#000000" />
</mx:Canvas>
<mx:Canvas id="custInfo" backgroundColor="#CCFFFF" label="Customer Info" width="100%" height="200">
<mx:Label text="Customer Info" color="#000000" />
</mx:Canvas>
<mx:Canvas id="accountInfo" backgroundColor="#FFCCFF" label="Account Info" width="100%" height="300">
<mx:Label text="Account Info" color="#000000" />
</mx:Canvas>
</mx:ViewStack>
</mx:Application>
更多精彩内容其他人还在看

Flex 对象持久化

总有人问我关于Flex对象序列化和持久化的问题,很多人认为对象不能拷贝到服务器,其实浅度的拷贝是可以做到的。
收藏 0 赞 0 分享

XML TO ArrayCollection 两种实现方式

最近研究FLEX,在网上看过100遍同一篇文章,结果测试不通,不知道到底能不能跑通,最后翻资料自己试验处理。
收藏 0 赞 0 分享

java TO ArrayCollection

因为new ArrayCollection 需要 array对象,event.result是空间返回对象(JAVA方法返回值)所以类型不同无法使用new 构造ArrayCollection ,可是恶心的FLEX偏偏支持javalist=ArrayCollection
收藏 0 赞 0 分享

Flex DataGrid DataGridColumn数据颜色多样化-类型替换

用得多了,发觉自己了解的真的是九牛之一毛都没有,最近用到了从后台读出数据时显示的问题,相信很多人都有用整形数据来代替字符串数据的情况
收藏 0 赞 0 分享

flex PopUpManager使用说明

PopUpManager在产生TitleWindow时应记录当前的TitleWindow,目前只能通过1)获取
收藏 0 赞 0 分享

Flex 字符串ReplaceAll使用说明

用过FLEX中String类型的朋友可能知道,replace这个方法并不过替换所有内容。那么我们需要替换所有内容怎么办?
收藏 0 赞 0 分享

基于Socket的网络连接 Flex与.NET互操作(一)

Flash/Flex也支持基于Socket的网络连接 ,服务器端可以是C++,VB,C#,Java等任一语言开发。监听一个网络端口便可以接收到Flash/Flex开发的客户端的连接。
收藏 0 赞 0 分享

基于WebService的数据访问(上) Flex与.NET互操作(二)

Flex提供了<mx:WebService>、<mx:HTTPService>和<mx:RemoteObject>标签来直接访问远程数据,这用于与各种不同语言环境开发提供的远程服务端数据源(如WebService)进行数据交互通信显得更加容易.
收藏 0 赞 0 分享

基于WebService的数据访问(下) Flex与.NET互操作(三)

在上一篇文章《Flex与.NET互操作(二):基于WebService的数据访问(上) 》中介绍了通过<mx:WebService>标签来访问Webservice。实际上我们也可以通过编程的方式动态的访问WebService,Flex SDK为我们提供了WebServ
收藏 0 赞 0 分享

Flex与.NET互操作 使用HttpService、URLReqeust和URLLoader加载/传输数据

在前两篇文章中分别介绍了Flex与.NET的WebService之间的数据交互通信知识,本文将介绍另外一种加载数据以及发起请求的方式。
收藏 0 赞 0 分享
查看更多