Feathers UI包到桌面应用程序
我想知道如何创建一个Flash Builder构建器AIR项目,该项目可以使用Feathers UI来打包桌面应用程序而不是移动应用程序。Feathers UI包到桌面应用程序
如果我按照FeathersUI入门指南的指示创建一个actionscript移动项目,我会得到与Feathers实例中可见的相同的组件样式。
但是,如果我创建一个'常规'动作项目,我得到组件样式,它看起来很小,不像羽毛的例子一样。
我在这里失踪了什么?是不是可以创建一个“常规”动作项目? 然后,使用移动动作项目,如何打包桌面?
相关的问题虽然没有具体回答我的问题:
How can we use Feathers UI for developing Web and Desktop Application?
对于桌面AIR应用程序,你应该使用一个桌面主题,而不是羽毛入门教程中提到的MetalWorksMobileTheme
。羽毛包括几个示例主题,目前(截至Feathers 1.3.0)的示例主题之一是针对桌面的。它被称为AeonDesktopTheme
。您应该尝试使用AeonDesktopTheme
而不是MetalWorksMobileTheme
。
有使用桌面主题的桌面应用程序主要有两个原因:
桌面和移动相同的UI控件可以表现非常不同。桌面主题将针对鼠标和键盘桌面环境适当地对每个UI控件进行皮肤处理,并启用键盘焦点管理等功能。
示例移动主题(包括
MetalWorksMobileTheme
)尝试根据Capabilities.screenDPI
调整其内容的大小,以便组件在所有屏幕上呈现相同的物理大小(以英寸和厘米为单位)。这对移动设备来说很好,但是桌面上的组件会变得太小,特别是因为桌面上的Flash运行时似乎会返回一个奇怪的常数值Capabilities.screenDPI
(忽略连接的显示器的实际DPI)。
通过设置DevicesCapabilities.dpi
找到的解决方法不是正确的方法。这个API并不是用于真实世界的应用程序。这是一种黑客行为,它允许feathersui.com上的演示轻松模拟在Flash Player中运行的SWF中的移动设备。
我已经能够找到一个回答我的问题,由意外发现,这里:
看来我们必须'模仿'移动设备对于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
这不是正确的方法。您应该使用桌面主题而不是移动主题。在DeviceCapabilities上更改属性是我需要添加的,用于在feathersui.com上的Flash Player中显示移动应用程序的演示,并且不推荐用于真实应用程序。 – joshtynjala
@joshtynjala我一直认为这有点破解,我应该改变它。然而,这是一个很好的快速解决方法,开始主题修改/造型:) - 哦,我也改变了答案。 –
也更新了主要问题并删除了无效链接。 –