首页 > 解决方案 > CodenameOne - 在 CN1 项目中使用 XCode Assets.Casset 目录的 1x 2x 3x 图像

问题描述

我的 CodenameOne 应用程序需要为某些按钮定制图标。必须使用图像。

我的应用程序的 iOS 版本以 1x 2x 3x 格式适当地提供了这些图像。

看来CN1的多图系统会受益于我的应用程序Android版本的图像资源。

事实上,我认为 XCode 1x、2x、3x 图像可能会导致“最接近的替代方案”的奇怪分配,因为它在 CN1 开发指南中读到。

Table 4. Densities
Constant
Density
Example Device
Display.DENSITY_VERY_LOW
~ 88 ppi
Display.DENSITY_LOW
~ 120 ppi
Android ldpi devices
Display.DENSITY_MEDIUM
~ 160 ppi
iPhone 3GS, iPad, Android mdpi devices
Display.DENSITY_HIGH
~ 240 ppi
Android hdpi devices
Display.DENSITY_VERY_HIGH
~ 320 ppi
iPhone 4, iPad Air 2, Android xhdpi devices
Display.DENSITY_HD
~ 540 ppi
iPhone 6+, Android xxhdpi devices
Display.DENSITY_560
~ 750 ppi
Android xxxhdpi devices
Density.DENSITY_2HD
~ 1000 ppi
Density.DENSITY_4K
~ 1250ppi

如您所见,上表与 Android 资源方案兼容。

在我的 Android 项目中,我没有图像,但是有 xml drawables。这些绘图从 SVG 绘图转换而来,由 Android-Studio 中简单直接的导入功能提供。

所以我在这里问是否有一种安全的方法将XCode项目的Assets.casset图像资源包含到CN1图像资源中。它们以 1x 2x 3x 图像的形式提供,并且最终必须分配给正确的 iOS 设备,没有错误但“最接近的选择”。

这可能吗?

标签: codenameoneandroid-resourcesxcassetpixel-density

解决方案


我们有以类似于 androids DPI 级别的方式工作的多图像。他们不使用 iOS 约定,因为我们支持比 iOS 更多的设备分辨率。这适用于 CSS 和设计器。有关更多详细信息,请参阅多图像开发人员指南。


推荐阅读