android - Android 中的 7 英寸平板电脑 - 屏幕尺寸限定符

标签 android blackberry-playbook kindle-fire

开始在某些 7 英寸 Android 机型上测试我的应用程序时,我遇到了一个奇怪的行为,我想了解其他人是否发现了同样的问题,以及人们推荐的修复方法。

详情如下:

该应用程序具有完整的平板电脑支持,由布局限定符触发。 xlarge 设备获得平板电脑模式,屏幕上显示多个 fragment 。

对于较新的 Android 版本,还有一些设置变量的值,这些变量使用 sw600dp 限定符以及 xlarge 限定符更改流上的 UI。

问题:

我现在正在 Kindle Fire 和 RIM BlackBerry Playbook 上进行测试,还想支持即将推出的 Google Nexus 平板电脑(或任何名称)和其他 7 英寸外形设备。

playbook 和 fire 都有 7 英寸屏幕和 1024x600 屏幕分辨率。

然而,该剧本似乎欺骗了 Android,使其认为它是一个超大型设备,而 fire 并没有这样做。

平板电脑和标准 UI 都可以正常工作,但恕我直言,平板电脑模式更好,适合在 7 英寸设备上使用。但是,如果我将布局插入大型限定符以同时启动平板电脑模式,我也会得到它,例如在 Note 或其他相当小的设备上。

对于 Android 4x,我可以使用 sw600dp 和其他限定符,但是旧版本呢?我假设一个 7 英寸的设备应该像平板电脑一样运行,但是例如注意..

此场景的最佳做法是什么?我对剧本报告 xlarge 的观察是否正确?

最佳答案

However the playbook seems to trick Android into thinking it is a xlarge device, while the fire does not do that.

设备制造商负责选择设备在尺寸和密度方面的分类。对于 RIM 和亚马逊这样的制造商来说,这是双倍的,他们不想要 Play Store,因此不必遵守 Play Store 规定的任何特定兼容性要求,因此欢迎他们对 Google 的指导嗤之以鼻。

What are best practices for this scenario?

我不能告诉你“最好”。

但是,如果您希望为特定设备覆盖某些布局以使用特定尺寸,我会尝试以下方法(假设您将在正常情况下使用的布局称为 R.layout。主):

第 1 步:创建 res/layout/main_funky.xml 作为到 res/layout-xlarge/main.xml 的符号链接(symbolic link)或硬链接(hard link)(同样适用于 -土地等)。

第 2 步:在您的 Java 代码中,无论您在哪里引用 R.layout.main(例如,FragmentonCreateView() >), 根据 android.os.Build 数据决定是否加载 R.layout.mainR.layout.main_funky 来检测这些按型号分类的古怪设备。由于 R.layout.main_funky 是您的常规 main 布局之一,因此您所有依赖于小部件的代码都应该不受此选择的影响。

第 3 步:在您的特定情况下,将 MMPD(magic Maven pixie dust)添加到第 1 步和第 2 步...:-)

Are my observations with the playbook reporting xlarge correct?

我买了一本 Playbook,确定 RIM 的发行模型……令人不快,并且做了最低限度的工作,在书中有一章。我没有尝试查看它是 -large-xlarge 还是其他。

话虽这么说,NOOK 平板电脑 IIRC 却受此困扰(声称是 -xlarge 而不是 -large)。

我希望 Google Nexus 平板电脑(如果这样的事情实现)能够正确地遵守大小桶,并且运行足够新的 Android 版本,-sw600dp 和 kin 可以工作。

关于android - Android 中的 7 英寸平板电脑 - 屏幕尺寸限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889409/

相关文章:

html - Kindle Fire 和文件上传

android - 添加到 list 中的内容以拒绝 Kindle Fire 1st Gen

android - 构建项目时出现 EventBus 异常 - 订阅者类没有名为 onEvent 的公共(public)方法

android - RecyclerView 项目 View 隐藏/显示

android - Tablet Genesis 的供应商 ID 是什么?

android - 在运行 Playbook OS 2.0 的 Blackberry Playbook 上快速开发、调试和运行 android 应用程序的方法

android - Kindle Fire USB Debug模式

android - 如何在android中行走时计算距离?

blackberry-playbook - 为 Playbook 打包和签署 BlackBerry WebWorks SDK 应用程序时出错

android - 如何在移动设备上使用 Adob​​e AIR 读取 jpg 图像方向