actionscript 3 -羽毛UI包到桌面应用程序



我想知道如何创建一个flash builder AIR项目,可以使用羽毛UI包装桌面应用程序而不是移动应用程序。

如果我按照FeathersUI入门指南的指示创建一个actionscript移动项目,我将得到与在Feathers实例中看到的相同的组件样式。

但是如果我创建一个"常规"的actionscript项目,我得到的组件样式看起来非常小,与羽毛的例子不一样。

我在这里错过了什么?是不可能创建一个"常规"的actionscript项目?那么,使用移动端actionscript项目,如何为桌面端打包?

相关的问题,虽然没有具体回答我的问题:

http://forum.starling-framework.org/topic/feathers-ui-for-business-application-on-mobile-device-and-webdesktop-mode

我们如何使用Feathers UI开发Web和桌面应用程序?

对于桌面AIR应用程序,您应该使用桌面主题而不是入门教程中提到的MetalWorksMobileTheme。Feathers包含几个示例主题,其中一些针对移动设备,另一些针对桌面设备。一个好的开始是MetalWorksDesktopTheme。它的设计与MetalWorksMobileTheme类似,但它是专门为桌面设计的。

在桌面应用程序中使用桌面主题有两个主要原因:
  1. 相同的UI控件在桌面和移动设备上的行为可能非常不同。桌面主题将为鼠标和键盘桌面环境适当地覆盖每个UI控件,并启用键盘焦点管理等功能。

  2. 示例移动主题,包括MetalWorksMobileTheme,尝试基于Capabilities.screenDPI调整其内容大小,以便组件在所有屏幕上呈现相同的物理尺寸(以英寸或厘米为单位)。这对于移动设备来说是很棒的,但是组件在桌面上会呈现得太小,特别是因为桌面的Flash运行时不能报告所连接屏幕的正确DPI。

通过设置DevicesCapabilities.dpi找到的解决方法不是推荐的方法。这个API的存在只是因为它允许feathersui.com网站上的演示来模拟组件如何在移动设备上显示。要扩展真正的应用程序,您应该使用Starling的多分辨率api。

我已经找到了我的问题的答案,在这里,机缘巧合:

http://forum.starling-framework.org/topic/how-to-multi-platform-with-feathers-ui-like-example-of-feathers-on-website

似乎我们必须"模仿"移动设备的设置,使FeathersUI正确显示:

//pretends to be an iPhone Retina screen
DeviceCapabilities.dpi = 326;
DeviceCapabilities.screenPixelWidth = 960;
DeviceCapabilities.screenPixelHeight = 640;

可以在github的组件资源管理器源代码中看到:https://github.com/joshtynjala/feathers/blob/master/examples/ComponentsExplorer/source/ComponentsExplorerWeb.as

最新更新