Flex 移动开发:Nexus 5 的小观点

Flex Mobile Devlopement: Small views on Nexus 5

我刚开始使用 Flex 开发 Android/iOS 应用程序..

我对在真实设备 (Nexus 5) 和 Flash Builder 模拟器 (Samsung Galaxy Ace) 上测试应用程序之间的差异原因有疑问

在Samsung Galaxy Ace上可以看到Actionbar很好看:

而在真实设备 Nexus 5 中它非常小:

我使用 Android SDK 开发了很多应用程序,当我测试我的自定义设计和 android 设计时,它在任何设备上看起来都不错,但在 Flex 中我尝试了很多来解决这个问题但运气不好。

有什么建议吗?

为您的应用程序使用不同的 device/screen DPI 的 dpi 概念。给定链接中的此处描述了 flex 的 DPI 概念。

1. http://help.adobe.com/en_US/flex/mobileapps/WS19f279b149e7481c682e5a9412cf5976c17-8000.html

2. http://www.adobe.com/devnet/flex/articles/mobile-skinning-part2.html

您必须为任何特定的 DPI 应用设计。然后它会自动缩放其他 DPI。喜欢:applicationDPI="160".

您可以将按钮的图标 属性 设为:

<s:Button>
 <s:icon> 
     <s:MultiDPIBitmapSource source160dpi="@Embed('/assets/refresh160.png')" 
                             source240dpi="@Embed('/assets/refresh240.png')" 
                             source320dpi="@Embed('/assets/refresh320.png')"/> 
 </s:icon> 
</s:Button>

flex 的内部 dpi 缩放不能充分处理更新的 android 超过 360 dpi 的屏幕分辨率。我在 Nexus 4、三星 S4 和 S5、华为荣耀 6 等设备上遇到过同样的问题,这些设备的分辨率等于或接近 445 dpi。

除非有人找到了更优雅的解决方案,否则我的攻击方式是在应用程序启动时检测 360+ dpi 设备,并对应用程序中所有不适用的组件应用单独的 scaleX/scaleY 调整t 仅依赖百分比大小指定。 Adobe 需要在其 applicationDpi 选项中添加 400 和 480 dpi 常量。