Flex ViewStack高度異常問(wèn)題
更新時(shí)間:2009年07月13日 00:27:55 作者:
我跟WonJia打算寫一個(gè)類似于《Flex編程注意之XX》的系列文章,此系列文章主要就是介紹一些我們?cè)趯?shí)際的項(xiàng)目中發(fā)現(xiàn)的一些Flex的問(wèn)題,而這些問(wèn)題可能已經(jīng)被人發(fā)現(xiàn)了,也可能沒(méi)被人發(fā)現(xiàn),所以在此記錄一下。
其實(shí)很簡(jiǎn)單的一個(gè)注意地方,當(dāng)使用了ViewStack并且將其height設(shè)定為100%,同時(shí)在其中添加了多個(gè)child container(A 和 B)。那么ViewStack的高度將會(huì)怎樣呢?這個(gè)例子可以應(yīng)用與:多個(gè)組件而不同的狀態(tài),例如:在某些情況我需要顯示A的UI,另外在某些地方我需要顯示B的UI,然而它們的高度與寬度都是不一樣的,那么假設(shè)A的高度要大于B的高度,那么當(dāng)我想要顯示B的時(shí)候,就會(huì)發(fā)生如下的問(wèn)題,雖然我將其Application的高度設(shè)定的與B一致,按照通常的做法,由于ViewStack的height為100%,那么則認(rèn)為它與Application的高度是一致的那么那個(gè)空白的邊是如何出現(xiàn)的呢?其實(shí)這個(gè)地方在使用ViewStack的時(shí)候,有一個(gè)注意點(diǎn),那就是:當(dāng)ViewStack的height設(shè)定為100%時(shí),ViewStack的高度不會(huì)與Application的高度一直,而它的高度會(huì)根據(jù)其中的最高的那個(gè)child一致。其實(shí)這個(gè)特性在簡(jiǎn)單的例子中是非常容易被發(fā)現(xiàn)的,但是假設(shè)在做項(xiàng)目的時(shí)候,很多的height都設(shè)定為100%同時(shí)又包含了多個(gè)container,那么這個(gè)時(shí)候是非常難發(fā)現(xiàn)的,跟大家在說(shuō)一個(gè)技巧:如果遇到這樣的情況,那么將這些多個(gè)container用不同的背景色加以區(qū)分,最后就可以看到是哪個(gè)container出現(xiàn)問(wèn)題了!還是那句話,可能這個(gè)特性已經(jīng)很多人知道了,但是我還是要在這里指出,做一個(gè)備份和讓不知道的朋友也了解一下,免得多走彎路:)具體請(qǐng)看如下的代碼:(代碼是在componentexplorer的基礎(chǔ)上修改的。)
<?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>
復(fù)制代碼 代碼如下:
<?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>
您可能感興趣的文章:
- Android中父View和子view的點(diǎn)擊事件處理問(wèn)題探討
- Android 自定義View的使用介紹
- ScrollView與ListView合用(正確計(jì)算Listview的高度)的問(wèn)題解決
- Android動(dòng)態(tài)添加View的問(wèn)題解決方法
- android自定義進(jìn)度條漸變色View的實(shí)例代碼
- android開(kāi)發(fā)教程之view組件添加邊框示例
- Android中通過(guò)view方式獲取當(dāng)前Activity的屏幕截圖實(shí)現(xiàn)方法
- Android獲取屏幕或View寬度和高度的方法
- 詳解iOS tableViewCell自適應(yīng)高度 第三發(fā)類庫(kù)
- Android獲取view高度的三種方式
相關(guān)文章
Flex DataGrid DataGridColumn數(shù)據(jù)顏色多樣化-類型替換
用得多了,發(fā)覺(jué)自己了解的真的是九牛之一毛都沒(méi)有,最近用到了從后臺(tái)讀出數(shù)據(jù)時(shí)顯示的問(wèn)題,相信很多人都有用整形數(shù)據(jù)來(lái)代替字符串?dāng)?shù)據(jù)的情況2009-06-06
基于Socket的網(wǎng)絡(luò)連接 Flex與.NET互操作(一)
Flash/Flex也支持基于Socket的網(wǎng)絡(luò)連接 ,服務(wù)器端可以是C++,VB,C#,Java等任一語(yǔ)言開(kāi)發(fā)。監(jiān)聽(tīng)一個(gè)網(wǎng)絡(luò)端口便可以接收到Flash/Flex開(kāi)發(fā)的客戶端的連接。2009-06-06
FluorineFx.NET的認(rèn)證(Authentication )與授權(quán)(Authorization)Flex與.NE
FluorineFx.NET的認(rèn)證(Authentication )與授權(quán)(Authorization)和ASP.NET中的大同小異,核實(shí)用戶的身份既為認(rèn)證,授權(quán)則是確定一個(gè)用戶是否有某種執(zhí)行權(quán)限2009-06-06
flex 簡(jiǎn)單例子(含實(shí)例效果圖 源碼)
要過(guò)節(jié)了,工作任務(wù)也完成了,閑來(lái)沒(méi)事,研究svg,感覺(jué)市場(chǎng)上對(duì)svg支持度不高,導(dǎo)致了這項(xiàng)技術(shù)不能夠被IT群眾充分的接納,一個(gè)沒(méi)有人支持的技術(shù),她必然也不會(huì)有很大的前景。研究來(lái)研究去,還是覺(jué)得flex比較好玩。2009-09-09
Flex 創(chuàng)建復(fù)數(shù)行文本內(nèi)容的List
效果不錯(cuò)的flex多行文本2008-11-11
Flex Gumbo中通過(guò)baseColor樣式 設(shè)置FxHScrollBar背景顏色
Gumbo中通過(guò)baseColor樣式 設(shè)置FxHScrollBar背景顏色的實(shí)現(xiàn)代碼。需要的朋友可以參考下。2009-08-08

