2014-03-14 72 views
1

我想知道如何创建一个Flash Builder构建器AIR项目,该项目可以使用Feathers UI来打包桌面应用程序而不是移动应用程序。Feathers UI包到桌面应用程序

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

但是,如果我创建一个'常规'动作项目,我得到组件样式,它看起来很小,不像羽毛的例子一样。

我在这里失踪了什么?是不是可以创建一个“常规”动作项目? 然后,使用移动动作项目,如何打包桌面?

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

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

How can we use Feathers UI for developing Web and Desktop Application?

回答

0

对于桌面AIR应用程序,你应该使用一个桌面主题,而不是羽毛入门教程中提到的MetalWorksMobileTheme。羽毛包括几个示例主题,目前(截至Feathers 1.3.0)的示例主题之一是针对桌面的。它被称为AeonDesktopTheme。您应该尝试使用AeonDesktopTheme而不是MetalWorksMobileTheme

有使用桌面主题的桌面应用程序主要有两个原因:

  1. 桌面和移动相同的UI控件可以表现非常不同。桌面主题将针对鼠标和键盘桌面环境适当地对每个UI控件进行皮肤处理,并启用键盘焦点管理等功能。

  2. 示例移动主题(包括MetalWorksMobileTheme)尝试根据Capabilities.screenDPI调整其内容的大小,以便组件在所有屏幕上呈现相同的物理大小(以英寸和厘米为单位)。这对移动设备来说很好,但是桌面上的组件会变得太小,特别是因为桌面上的Flash运行时似乎会返回一个奇怪的常数值Capabilities.screenDPI(忽略连接的显示器的实际DPI)。

通过设置DevicesCapabilities.dpi找到的解决方法不是正确的方法。这个API并不是用于真实世界的应用程序。这是一种黑客行为,它允许feathersui.com上的演示轻松模拟在Flash Player中运行的SWF中的移动设备。

0

我已经能够找到一个回答我的问题,由意外发现,这里:

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

+1

这不是正确的方法。您应该使用桌面主题而不是移动主题。在DeviceCapabilities上更改属性是我需要添加的,用于在feathersui.com上的Flash Player中显示移动应用程序的演示,并且不推荐用于真实应用程序。 – joshtynjala

+0

@joshtynjala我一直认为这有点破解,我应该改变它。然而,这是一个很好的快速解决方法,开始主题修改/造型:) - 哦,我也改变了答案。 –

+0

也更新了主要问题并删除了无效链接。 –