Android:横向模式下Nexus 10上不需要的左/右边距

时间:2013-07-25 14:53:48

标签: android nexus-10

在横向模式下使用Nexus 10设备时,我在布局的左侧和右侧出现看似无法解释的边缘问题。 我确信这是一件令人尴尬的事情,但在搜索时我找不到任何提及。

我很确定它与我的代码无关,因为Eclipse创建的默认Hello World项目会出现这种现象。以下屏幕截图摘录来自一个全新的项目,我所做的唯一改变是为了清晰起见使TextView textSize更大一些:

Comparison of landscape and portrait orientations on the Nexus 10

您可以看到布局XML文件(如下所示)中的默认边距在纵向模式下正确应用,但在横向模式下应用了相当大的额外边距 - 由屏幕截图下方的红色条指示。

<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>

有没有其他人看过这个或者有任何想法我怎么能摆脱它们?我真的不知道从哪里开始,因为它似乎是具体的这一个设备和屏幕方向。另外它会影响最简单的程序,也可能影响我自己的程序,因此在找到如何修复默认情况之前,拆除我自己的代码是没有意义的。
相同的屏幕在模拟设备和我的三星Galaxy S2(运行Gingerbread)上正确显示。将项目构建目标从API级别17更改为10也不会改变不需要的影响。有什么想法吗?

2 个答案:

答案 0 :(得分:9)

好的,所以这很令人尴尬的直截了当!横向模式下Nexus 10的边距取自'values-sw720dp-land'资源文件夹,该文件夹声明了更大的值:

<!--
     Customize dimensions originally defined in res/values/dimens.xml (such as
     screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
-->
<dimen name="activity_horizontal_margin">128dp</dimen>

经过近一年潜伏在SO上并找到我所有问题的答案后,我最终决定正确提出的第一个问题变得像这样微不足道......

答案 1 :(得分:0)

谢谢,danj1974!你为我节省了很多时间!我将res / values-w820dp / dimens.xml中的设置更改为

<dimen name="activity_horizontal_margin">0dp</dimen>

它运作良好。