【问题标题】:What's the best way to support Android 2.x tablets in my app?在我的应用中支持 Android 2.x 平板电脑的最佳方式是什么?
【发布时间】:2011-11-30 01:54:51
【问题描述】:

我正在开发一款绝对需要支持 Android 2.1+ 设备(包括平板电脑和手机)的 Android 应用。

棘手的部分是我希望能够在 Android 2.x 平板电脑上提供与真正的 Honeycomb 平板电脑大致相同的用户体验。我计划使用 Compatibility 包,以便始终提供 Fragment 支持,但是...

我现在遇到的问题是我买了一个 Hannstab 进行测试,发现它向应用报告它有一个“大”屏幕,尽管实际上是 10.1 英寸。从技术上讲,这将使其成为“xlarge”,但该类别当然不包含在 Android 2.2(它运行)中,因此它是“大”的。我最初打算只使用资源限定符并将所有 xlarge 设备视为平板电脑,将其他所有设备视为手机,但现在我意识到我不能这样做。

将所有 xlarge 大屏幕设备都视为平板电脑会很糟糕吗?据我了解,这将包括戴尔 Streaks 和其他 5 到 7 英寸屏幕设备。

还有更好的选择吗?我还没有真正了解 Fragments,所以基于 Fragments 的解决方案可能对有经验的人来说是显而易见的。

我注意到,我安装在 Hannspad 上的应用程序通常使用其正常的手机 UI,但使用特定平板电脑界面的 Evernote 除外 - 我希望我知道他们是如何做到的。

Android 3.2 中引入的新“Smallest Width”资源限定符将通过完全取消通用屏幕尺寸存储桶来解决此问题。大概我可以通过编写代码来计算 dp 中的屏幕宽度,然后根据需要将片段添加到活动中来复制这种方法。那是明智的吗?如果会很痛苦,我宁愿避免那种工作。

干杯

【问题讨论】:

  • @C Norris 您的评论应该作为对原始问题的更新(否则会被忽略)。您可以使用问题下方的编辑链接进行编辑。

标签: android user-interface screen android-3.0-honeycomb tablet


【解决方案1】:

将所有超大屏幕和大屏幕设备都视为平板电脑会很糟糕吗?

如果您的问题确实是“可以为-large-xlarge 设备使用相同的布局等”,那当然可以。这当然是我要开始的地方。

请记住,设备制造商确实是决定什么是 -large 的人。发现一些制造商创建 5" 设备并将其归类为 -normal 并不令我感到惊讶,因为他们认为 -normal 应用程序在他们的设备上往往比-large 应用程序运行得更好。

我注意到,我安装在 Hannspad 上的应用程序通常使用其正常的手机 UI,但使用特定平板电脑界面的 Evernote 除外 - 我希望我知道他们是如何做到的。

可能使用-large/-xlarge 资源。我不知道他们是否使用碎片。

就屏幕尺寸而言,片段确实适用于 -large/-xlarge UI 基本上是一堆 -small/-normal 大小的 UI 像 LEGO(R) 块一样拼凑在一起的情况。在 Evernote 的案例中,他们的-large/-xlarge UI 不符合这种模式,因此他们可能使用了片段,也可能没有。

片段为内存管理和配置更改(例如屏幕旋转)提供了一些其他优势,因此即使您没有在主要的屏幕尺寸组之间共享片段,您也可以考虑使用片段。

这样做明智吗?

如果可能的话,我会等到 Ice Cream Sandwich 发货后再做决定,我们会开始看到其中一些内容将如何在小屏幕设备上播放。

【讨论】:

  • 感谢您的帮助,我将使用 Fragments 并将 large/xlarge 设备视为平板电脑。我没有想到制造商可能会故意(错误地)将他们的 5"-7" 设备归类为normal,但这很有意义,希望他们这样做了。
猜你喜欢
  • 2013-06-04
  • 2011-12-04
  • 1970-01-01
  • 2011-08-04
  • 2013-01-19
  • 1970-01-01
  • 2015-03-08
  • 1970-01-01
  • 2015-07-17
相关资源
最近更新 更多