如何在 Android 中区分 7 个" and 10"屏幕(API 13 之前)?



我正在开发一个应用程序,遇到了一个严重的问题(在我个人看来,安卓系统出现了很大的故障)。如果您试图在API 13之前支持多个屏幕(添加了"小宽度"功能),则必须使用屏幕大小(小、中等)和密度(ldpi、mdpi等)为不同的屏幕提供不同的布局。所有功能都很好,直到你想同时支持10英寸平板电脑和7英寸平板电脑。例如,分辨率为1280X800、密度为160的10英寸平板电脑(大多数平板电脑)和Kindle(1024x600,密度为160,7')对于Android来说是相同的,这意味着在API 13之前(并非所有平板电脑都运行3.2),我无法分别为它们中的每一个提供不同的布局/尺寸值

我真的不想仅仅为了确定文本的大小而在代码中进行所有令人讨厌的计算。我确信很多人都会遇到这个问题。

有人知道解决这个问题的办法吗?

谢谢,Elad

使用旧的限定符系统;平板电脑将注册为CCD_ 1屏幕;平板电脑将注册为xlarge屏幕(姜饼中引入的后一个限定符)。

编辑:来自最新的Android兼容性定义文档(CDD):

具体而言,设备实现必须根据以下逻辑密度无关像素(dp)屏幕尺寸报告正确的屏幕大小。

  • 设备的屏幕尺寸必须至少为426 dp x 320 dp("小")
  • 报告屏幕大小为"正常"的设备的屏幕大小必须至少为470 dp x 320 dp
  • 报告屏幕大小为"大"的设备的屏幕大小必须至少为640 dp x 480 dp
  • 报告屏幕大小为"xlarge"的设备的屏幕大小必须至少为960 dp x 720 dp

希望获得Google Play资格的设备必须遵守本文档的规则。从技术上讲,像Kindle Fire这样的设备不需要遵守这些规则,因为它们使用自己的应用商店,但我个人并没有看到它们偏离规则。根据这些规则,火是大的,因为它的最小宽度是<720dp。

最新更新