2012-06-04 68 views
1

我开始在某些Android模型上测试我的应用程序时遇到了一个奇怪的行为,我想查看其他人是否找到相同的问题以及人们推荐的解决方法。Android中的7in平板电脑 - 屏幕大小限定符

下面是详细信息:

应用程序有完整的数位板的支持,这也是引发与预选赛的布局。 xlarge设备会在屏幕上显示多个片段的平板模式。

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

问题:

现在我测试的的Kindle Fire和RIM黑莓Playbook也想支持即将推出的谷歌Nexus平板电脑(或任何它会被称为)和其他7英寸外形设备。

剧本以及火都有7英寸的屏幕和1024x600的屏幕分辨率。

但是,剧本似乎欺骗Android认为它是一个xlarge设备,而火没有这样做。

平板电脑以及标准用户界面都可以正常工作,但imho平板电脑模式更好,可以在7英寸设备上使用。但是,如果我将布局推入大限定符中,以便在火灾中获得该平板模式,我也会得到它在笔记或其他相当小的设备上。

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

这种情况下的最佳做法是什么?我对playbook报告xlarge的观察是否正确?

回答

3

但是,剧本似乎欺骗Android认为它是一个Xlarge设备,而火没有这样做。

设备制造商是谁选择哪一个设备进入大小和密度桶。对于像RIM和亚马逊这样的制造商来说,这个数字增加了一倍,因为他们不需要Play商店,因此不必遵守Play商店规定的任何特定兼容性要求,因此欢迎他们在Google的指导下大拇指。

此方案的最佳做法是什么?

我不能告诉你“最好”。

但是,如果有要为其重写某些布局使用特定尺寸的特定设备,下面是我想尝试(假设你将使用正常情况下的布局被称为R.layout.main):

步骤1:创建res/layout/main_funky.xml作为符号链接或硬链接到res/layout-xlarge/main.xml(同样适用于-land等)。

步骤#2:在你的Java代码,不管你指R.layout.main(例如,FragmentonCreateView()),决定R.layout.mainR.layout.main_funky取决于android.os.Build数据通过模型检测这些古怪设备是否加载。由于R.layout.main_funky是您的普通main布局之一,所以取决于小部件的所有代码都不应受此选择的影响。

第3步:在您的特定情况下,加MMPD(Maven的魔仙尘)至步骤#1和#2 ... :-)

是我与剧本报告XLARGE正确的意见?

我买了一本手册,确定RIM的分销模式是......不愉快的,并且做了最低限度的书本章节。我还没有试图看看它是否是-large-xlarge或其他东西。

这就是说,NOOK平板电脑IIRC遭受这种(声称是-xlarge而不是-large)。

我希望谷歌Nexus平板电脑,如果这样的事情来实现,正确兑现大小桶,再加上运行一个新的足够的Android版本-sw600dp和亲会工作。

相关问题