android - 低分辨率和高分辨率的不同AndroidManifest.xml

标签 android pixel-density

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

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

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

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

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

根据表格,Android 语言中的 320ish dpi 似乎是“xhdpi”,高于它的是 xxhdpi 等等(~480 dpi):

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

问题是,如何我们在 list 文件中要求某个最低 DPI?此外,同样必须为低分辨率 APK 指定最大 DPI?

最佳答案

您不需要创建不同的 APK。只需将纹理放在正确的文件夹中(drawable-mdpi、drawable-ldpi、drawable-hdpi 等),Android 将只为每个设备保留正确的密度文件夹。这就是他们制作 the "mipmap" folder for launcher icons 的原因:

When app resource optimization techniques remove resources for unused screen densities, launcher icons can wind up looking fuzzy because the launcher app has to upscale a lower-resolution icon for display. To avoid these display issues, apps should use the mipmap/ resource folders for launcher icons.

编辑: 如果您确实需要,请尝试 compatible-screens tag ...

关于android - 低分辨率和高分辨率的不同AndroidManifest.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196914/

相关文章:

android - 如何在 React Native (Android) 的 Facebook 登录按钮中居中放置文本?

android - 如何在单个 Activity 中添加操作栏和工具栏?

java - Pie 上的 Camera2 API 越界异常

android - 为什么 2 个相同尺寸、相同分辨率的设备声称密度不同?

android - 在没有上下文的情况下将 dp 转换为 px

javascript - 在 PhoneGap 上将图像设置为全屏高度 - 了解 window.devicePixelRatio

android - 验证 ContentProvider 的签名

java - TxtSaludo 无法解析或不是字段

ios - @2x 视网膜图像等效于 Android