我想知道如何使用Feathers UI创建一个可以打包桌面应用而不是移动应用的Flash Builder项目。
如果我按照FeathersUI入门指南的指示创建一个actionscript移动项目,我将获得与Feathers实例中相同的组件样式。
但是,如果我创造一个常规的'动作脚本项目,我得到的组件样式看起来很小,与Feathers示例上的不一样。
我在这里缺少什么?是不是可以创建一个常规的'动作项目? 然后,使用移动动作脚本项目,如何打包桌面?
相关问题虽然没有具体回答我的问题:
How can we use Feathers UI for developing Web and Desktop Application?
答案 0 :(得分:0)
我已经能够通过偶然性找到我的问题的答案:
似乎我们必须“模仿”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
答案 1 :(得分:0)
对于桌面AIR应用,您应使用桌面主题,而不是Getting Started with Feathers tutorial中提到的MetalWorksMobileTheme
。 Feathers包括几个示例主题,一些目标移动和其他目标桌面。一个好的开始是MetalWorksDesktopTheme
。它具有与MetalWorksMobileTheme
类似的设计,但它专为桌面设计。
桌面应用程序使用桌面主题有两个主要原因:
桌面和移动设备上的相同UI控件的行为可能非常不同。桌面主题将为鼠标和键盘桌面环境适当地调整每个UI控件,并启用键盘焦点管理等功能。
示例移动主题(包括MetalWorksMobileTheme
)尝试根据Capabilities.screenDPI
调整其内容的大小,以便组件在所有屏幕上以相同的物理大小(以英寸或厘米为单位)呈现。这非常适合移动设备,但是桌面上的组件渲染太小,特别是因为桌面上的Flash运行时没有报告连接屏幕的正确DPI。
通过设置DevicesCapabilities.dpi
找到的解决方法不是推荐的方法。此API的存在只是因为它允许feathersui.com网站上的演示模拟组件在移动设备上的显示方式。要扩展实际应用程序,您应该使用Starling的多分辨率API。有关详细信息,请参阅Starling手册中的Multi-Resolution Development。