【问题标题】:Flex mobile project does not support mx:Canvas?Flex 移动项目不支持 mx:Canvas?
【发布时间】:2023-03-30 18:01:01
【问题描述】:

在 Flash Builder 中,如果我新建一个 Flex 移动项目,然后粘贴以下代码:

<?xml version="1.0"?>
<!-- Simple example to demonstrate the Halo Canvas layout container. -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">
    <s:Group/>
    <mx:Canvas/>
</s:Application>

“Canvas”行无法编译。但是在 Flex 项目中是可以的。我的问题是,有没有办法在不修改 Flex Mobile Project 中的旧代码的情况下使用 Canvas 或其他光环控件?或者,有什么方法可以在 Flex Project 中使用 Native Extension?如果两者都不是,那将是一场噩梦。

【问题讨论】:

  • Adobe 建议不要将 mx 组件用于任何移动应用程序,因为它们没有针对它进行优化。显然这并不能解决你的问题,但它确实解释了你为什么会遇到它。通常他们会工作,只是不太好。但是,Canvas flat out 在移动设备上不起作用。
  • 我认为建议是针对新项目的。对于旧的,最好在重新工厂之前让它们运行。即使它很慢,您也可以根据需要逐步优化 mx 组件。

标签: apache-flex halo flex-mx flex-spark


【解决方案1】:

我的问题是,有没有办法使用 Canvas 或其他光环控件 无需修改 Flex Mobile Project 中的旧代码?

是的,您必须将 mx.swc 添加到移动项目的库路径中。它应该位于类似这样的地方:

[FrameworkRoot]\frameworks\libs\mx\mx.swc

我不确定我是否会推荐它;因为 MX 组件未针对移动使用进行优化。我不清楚 Canvas 会为您提供哪些您无法从群组中获得的东西。

有没有办法在 Flex Project 中使用 Native Extension?

没有;本机扩展是一项 AIR 功能;您将无法在基于浏览器的项目中使用它们。

【讨论】:

  • 非常感谢。我会试试看。我仍然想使用 mx 控件的原因只是我不想修改大量现有代码。
  • 如果您想在移动设备上获得良好的性能,您可能需要修改大量现有代码。但是,这取决于设备,您必须尝试并查看。
  • 成功了。非常感谢! (不过单单mx.swc好像还不够,我还加了[FrameworkRoot]\framesworks\libs\sparkskins.swc来去掉所有的错误。)
  • 您不需要 sparkskins.swc 来使用 MX Canvas 对象。如果这解决了您的问题,请将此答案标记为已完成。投票栏旁边应该有一个“复选框”。
猜你喜欢
  • 2011-10-07
  • 1970-01-01
  • 2012-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多