我試圖將加載動畫應用於我的Flex應用程序 - 整個瀏覽器窗口占用者時出現問題。 我按照Adobe的article中所述的方式繼承了DownloadProgressBar類。由基類報告的stageHeight
和stageWidth
不正確。它表示構造函數中的500x375像素和其他地方的0x0。爲什麼?100%至100%Flex應用程序預加載器定位
回答
你解決了這個問題嗎?我與我的Flex應用程序有同樣的問題。 階段返回500x375。 我的解決方法並不美觀。該函數在FlexEvent.INIT_PROGRESS上調用。所以當我的應用程序可用時,我使用它的道具。
private function onFlexInitProgress(event:FlexEvent):void {
if (Application.application != null){
var appWidth:Number = Application.application.width;
var appHeight:Number = Application.application.height;
x = (appWidth * 0.5) - (preloaderSWF.width * 0.5);
y = (appHeight * 0.5);
preloaderSWF.visible = true;
}
}
我不確定這是否會有所幫助,但我認爲可以通過使用Application.width,Application.height來引用Flex應用程序的大小。
http://livedocs.adobe.com/flex/3/html/help.html?content=app_container_2.html
下面的問題似乎涉及您的問題:
http://www.nabble.com/Stupid-Question---Flex-width-and-height-td21423345.html
http://www.nabble.com/Flex-stage-size-td20167125.html
http://dreamweaverforum.info/flex/125327-referencing-stage-flex.html
希望他們幫助。
寬度/高度測量值0x0通常表示在閱讀時未涉及完整的組件(包括子組件)。在構造函數中檢查度量值肯定太早。在將舞臺設置爲全屏並且顯示的所有內容已經佈置完畢後,您可能需要檢查測量結果,可能是在應用程序creationComplete事件中,或許甚至更晚。下面的鏈接應該是一個很好的資源:
http://blog.flexexamples.com/2007/08/07/creating-full-screen-flex-applications/
你想要做什麼是事件偵聽器添加到舞臺的resize事件,並相應地調整你的預加載的大小。否則,如果有人在顯示預加載器時調整Flex應用程序的大小,它將不會調整大小。
stage.addEventListener(Event.RESIZE, onStageResize);
public function onStageResize(e : Event) : void {
this.width = stage.stageWidth;
this.height = stage.stageHeight;
}
或者你也可以使用像這樣的代碼在舞臺中央的預加載:
preloader.x = this.stage.stageWidth/2 - preloader.width/2;
我有代碼中心我自定義進度裝載機,並從本文 http://askmeflash.com/article_m.php?p=article&id=7
工作非常細我在flash builder的actionscript項目中使用了100%到100%寬度和高度的同樣的問題。我發現stage.stageWidth和stage.stageHeight是500x375,直到preloader載入主類後,纔會變爲全屏大小。因此,預加載器中項目的定位不正確。我發現,這是此行中我的主類,漸漸的舞臺大小更新:
stage.scaleMode = StageScaleMode.NO_SCALE;
下面是我在預加載器來實現它:
public function Preloader()
{
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onAddedToStage(event:Event):void {
removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align=StageAlign.TOP_LEFT;
...
}
- 1. 預加載flex應用程序與extjs
- 2. Flex 4應用程序未在瀏覽器中顯示爲100%
- 3. 加載100 UIImages
- 4. 預加載程序使用Flex 4?
- 5. 100%寬度未完全擴展至100%
- 6. 做了一個ID爲100%至100%寬
- 7. 四捨五入至100單位
- 8. 應用程序不使用100%的CPU
- 9. 100%CPU使用率ASP.NET應用程序
- 10. Symfony1.4有100個應用程序
- 11. Qt應用程序掛起100%CPU
- 12. Facebook應用程序100%寬度
- 13. Akka IO應用程序消耗100%cpu
- 14. 100多位試圖下載文件的併發用戶(asp.net C#應用程序)
- 15. CSS,增加100%[計算(100%+ __)
- 16. 預計:100-繼續
- 17. AS3陣列1至100
- 18. CSS拉伸至100%高度
- 19. 如何減少相對定位div的底部至100%?
- 20. 將固定位置的元素延伸至100%高度
- 21. 初始化應用程序時,Flex預加載器卡住了17%
- 22. div與高度100%不填充定位與flex的父母
- 23. CSS問題,錯位和100%不是100%?
- 24. Wordpress media_sideload_image - 下載http://placekitten.com/100/100?
- 25. Flex自定義預加載器圖像加載
- 26. 使用固定位置的100%身高
- 27. 如何讓我的應用程序服務器CPU達到100%?
- 28. 龍捲風應用程序定期停止幾秒鐘,100%CPU
- 29. 定位在高度爲100%和寬度爲100%的部分內
- 30. Css未應用100%
你的鏈接幫助我解決問題。我創建了一個預加載器,並將其設置爲組件中間的零點。然後我在preloader類中使用「this.x = stage.stageWidth/2」,並且組件始終居中居中:) – ufk 2012-05-06 13:05:17