【问题标题】:How can I differentiate between 7" and 10" screens in Android (prior to API 13)?如何区分 Android 中的 7" 和 10" 屏幕(在 API 13 之前)?
【发布时间】:2012-07-18 16:12:48
【问题描述】:

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

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

有人知道解决办法吗?

谢谢, 埃拉德

【问题讨论】:

    标签: android screen-size android-screen-support


    【解决方案1】:

    使用旧的限定符系统,7 英寸平板电脑将注册为 large 屏幕,而 10 英寸平板电脑将注册为 xlarge 屏幕(后一个限定符在 Gingerbread 中引入)。

    编辑:来自最新的 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 这样的设备不需要遵守这些规则,因为它们使用自己的应用商店,但我个人并没有看到它们迷路。根据这些规则,Fire 很大,因为它的最小宽度为

    【讨论】:

    • 我在 Kindle 上试用了这个应用,它说它是 xlarge 而不是大 play.google.com/store/apps/…
    • 这很有趣,因为我 Kindle Fire 上的那个应用程序也报告为 large: skitch.com/devunwired/e8ack/kindlefire Nexus 7。
    • Kindle 不是我的,所以我不能说,有人帮我检查过。这真的很奇怪..据我所知,制造商是决定要设置什么屏幕尺寸(大/特大)的制造商。看到这个我就更懵了。
    • 我从谷歌添加了更多信息。这个经验法则是我在我编写的所有应用程序中使用的经验法则,到目前为止它对我很有帮助。
    • @IgorGanapolsky 这些天来,由于这种模糊性,不推荐使用 large/xlarge 分界,并且并不重要,因为平板电脑很少运行低于 3.2 的任何东西。但是要回答您的问题,是的,因为 600dp 的最小宽度高于 'large' 但不高于 'xlarge' 在此确定中通常会忽略较大的宽度。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2021-04-01
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多