在flex应用程序中执行加载程序的最佳方法?

时间:2011-04-07 14:05:53

标签: flex actionscript adobe loader

在flex应用程序中执行加载程序的最佳方法是什么?我有一个动画.gif用作我们的加载器(每当我需要等待一个动作完成时),我不确定最好的方法。

这就是我的想法:

让加载程序成为自定义组件。 在父应用程序上,为我的自定义事件AceEvent.SHOW_LOADER添加事件侦听器。 在事件侦听器中,使用PopUpManager显示加载器。 听听AceEvent.HIDE_LOADER。 通过PopUpManager摆脱装载机。

您如何看待这个?有没有更好的方法呢?

谢谢!

安德鲁

2 个答案:

答案 0 :(得分:0)

好吧,最后我检查过,除非你有一个解决方法,否则GIF动画不能在Flex中运行。不过,由于质量低,我不会使用动画gif来制作动画。我只想用Flash重新创建它。

然而,我对装载机的方式会有很大的不同。就个人而言,我不相信'系统加载器',除非它是你的应用程序的预加载器。这样做的原因是可能同时加载多个东西(可能彼此不知道),这意味着加载器弹出窗口可能会在加载所有内容之前消失(第一个加载,调度事件并删除弹出窗口,而另一个仍在加载)。

我喜欢做的是为弹出式加载器创建一个自定义组件(因为它将被重复使用),从那里我可以使用适合我的视图的状态,或者使用绑定的布尔标记来显示弹出时为true(这可以使用像Parsley这样的框架轻松完成)。弹出窗口只会覆盖实际加载数据的系统部分(因为我怀疑你的整个应用程序是在同时加载数据),这样可以提供更好的用户体验。

答案 1 :(得分:0)

我最终使用as3gif(直到我可以将其重新创建为.swf)。我这样做的方法是使用我的自定义事件类(AceEvent.SHOW_LOADER和AceEvent.HIDE_LOADER),它会冒泡到顶部。然后我使用PopUpManager使用modal添加/删除它以禁用应用程序。