Flex:当我切换TabNavigator选项卡时,一切都变白了

时间:2009-08-18 23:29:57

标签: actionscript-3 flex3

我刚刚将TabNavigator放入我的应用程序中:

    <mx:TabNavigator width="100%" height="100%"
        backgroundColor="#F7F7F7">

        <custom:SomeCustomContainer label="Details" />

        <mx:Canvas label="Reporting" width="100%" height="100%">
        </mx:Canvas>

    </mx:TabNavigator>

当应用程序首次加载时,一切似乎都很好:

  

everything working http://img.skitch.com/20090818-dimqrp3ghd89fp9eftipafajk3.jpg

直到我点击“报告”标签。然后,有时候,应用程序的其余部分(即TabNavigator之外的所有内容)都会变白:

  

alt text http://img.skitch.com/20090818-tgud6797qcx18fwxwkik38nrp9.jpg

当Flash被要求重绘时,一切似乎都恢复正常(例如,浏览器窗口松开然后重新获得焦点)。

所以,错了......这是正常的吗?有没有一些简单的方法来解决它?

编辑:我尝试过对Joel建议的修改:

// Where 'this' is the main Application
ChangeWatcher.watch(this, ["myTabNavigator", "selectedIndex"], function() {
    invalidateDisplayList()
});

主要是有效......除了ApplicationControlBar的一小部分,它仍然是白色的:

control bar is still white http://img.skitch.com/20090903-fbif9r67jg9wx1rkiwad7sbey6.png

2 个答案:

答案 0 :(得分:1)

我在Mac上使用Firefox时出现此问题。我使用PureMVC所以我的解决方案并不太痛苦,但是当我切换标签时,我手动从我的根应用程序调度Event.RESIZE。这会强制displayList刷新并解决问题。

答案 1 :(得分:1)

将TabNavigator的historyManagementEnabled属性设置为false对我有效。