【发布时间】: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