我想知道如何创建一个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
类似,但它是专门为桌面设计的。
相同的UI控件在桌面和移动设备上的行为可能非常不同。桌面主题将为鼠标和键盘桌面环境适当地覆盖每个UI控件,并启用键盘焦点管理等功能。
示例移动主题,包括
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