【问题标题】:Migrating from Flex 4/4.5 to 4.5.1 for mobiles从 Flex 4/4.5 迁移到移动设备的 4.5.1
【发布时间】:2011-08-31 12:38:00
【问题描述】:

我正在尝试从使用 mx 以 flex 4/4.5 编写的 flex 代码迁移到仅使用 spark 与 flex 4.5.1 兼容。

问题是我在 spark 中找不到一些 mx 组件,因此将提供任何帮助:

mx:树
MX:文本
alert.show()

谢谢

【问题讨论】:

    标签: flash apache-flex adobe flash-builder flex4.5


    【解决方案1】:

    Flex SDK 中没有与 MX Tree 控件等效的 Spark。但无论如何,考虑到资源(性能),这个控件太“重”而不能在移动应用程序中使用。我认为你应该重新考虑你的 GUI 并引入一些轻量级的版本。

    mx:Text 可以替换为 s:Labels:RichText 取决于您是否需要格式化。可以看功能对比表here

    最后,Alert。没有开箱即用的与 MX Alert 等效的 Spark。 Spark 架构有SkinnablePopUpContainer,可用于创建您自己的警报,并可以为您的应用程序定制它。例如使用类似 iPad 的弹出窗口。

    更新。实现了一些third party Spark Tree

    【讨论】:

    • 如果你想用它做一个移动应用程序,那么远离 RichText 组件并使用 's:Label''s:StyleableTextField',因为 RichText 组件没有针对移动设备进行优化。你可以找到关于什么是好的和什么不适合移动设备的好信息here
    【解决方案2】:

    我认为 MX 树没有任何替代品。如果您不想使用它,可以查看此页面:

    http://cookbooks.adobe.com/post_Spark_Tree-17788.html

    对于 Text 组件,根据您的需要使用以下任意一种(我建议使用 s:Label,它会更快):

    http://help.adobe.com/en_US/flex/using/WS02f7d8d4857b1677-165a04e1126951a2d98-7fff.html

    没有 Spark 警报,但如果您确实无法使用 mx 控件,请使用 PopUpManager 将任何 flex 组件显示为弹出窗口并将 modal 选项设置为 true。但是,TileWindow 组件是一个真正的基本弹出组件,您可以根据需要对其进行扩展。有关 TileWindow 的更多信息:

    http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html

    这是一个使用 PopUpManager 的示例:

            _legalPopup = new LegalMentionPopup();
            _legalPopup.title = "Legal Mention"
    
            PopUpManager.addPopUp(_legalPopup, FlexGlobals.topLevelApplication as DisplayObject, true);
            PopUpManager.centerPopUp(_legalPopup);
    

    【讨论】:

    • 感谢您的回答和示例。我也会给你接受的答案,但之前只能回答 1 和 @Constantiner。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 2012-02-03
    • 2013-01-15
    • 1970-01-01
    相关资源
    最近更新 更多