3

我必须将我的应用程序(APK)分成两块:

  • 低分辨率,它使用低分辨率纹理。
  • 高分辨率,它使用高分辨率纹理。

现在这里的“低”和“高”是非常相对的。低包括 1x 和 2x 比例的纹理,高是 3x 比例的相同纹理。是的,这是从 iOS 移植的应用程序。由于尺寸原因,我必须制作多个 APK。

所以,我必须在某处划清界限,我可能会决定对高达 320 DPI 的设备使用低分辨率,而对 DPI 超过 320 的设备使用高分辨率。比如400以上,什么的。从它的外观来看,我们可以通过使用 AndroidManifest.xml 中的 supported-screens 标签来分离 DPI,但我不清楚应该如何执行,因为无法指定实际的 DPI。我的知识可能还不够,但我很难掌握如何将“dp”(本质上是 iOS 中的点)与“dpi”(即密度)联系起来。

http://developer.android.com/guide/practices/screens_support.html

根据表格,Android-speak 中的 320ish dpi 看起来是“xhdpi”,上面的东西是 xxhdpi 等等(~480 dpi):

  • 低分辨率:xhdpi(超高)~320dpi
  • 高分辨率:xxhdpi(超超高)~480dpi

问题是,我们如何在清单文件中要求一定的最小 DPI?此外,是否也必须为低分辨率 APK 指定最大 DPI?

4

1 回答 1

1

您无需创建不同的 APK。只需将纹理放入正确的文件夹(drawable-mdpi、drawable-ldpi、drawable-hdpi、...),Android 将只为每个设备保留正确的密度文件夹。这就是他们为启动器图标制作“mipmap”文件夹的原因:

当应用程序资源优化技术为未使用的屏幕密度删除资源时,启动器图标可能看起来很模糊,因为启动器应用程序必须放大较低分辨率的图标才能显示。为避免这些显示问题,应用程序应使用 mipmap/ 资源文件夹作为启动器图标。

编辑:如果你真的需要然后尝试compatible-screens标签...

于 2015-08-25T06:58:41.580 回答