在横向模式下使用Nexus 10设备时,我在布局的左侧和右侧出现看似无法解释的边缘问题。 我确信这是一件令人尴尬的事情,但在搜索时我找不到任何提及。
我很确定它与我的代码无关,因为Eclipse创建的默认Hello World项目会出现这种现象。以下屏幕截图摘录来自一个全新的项目,我所做的唯一改变是为了清晰起见使TextView textSize更大一些:
您可以看到布局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也不会改变不需要的影响。有什么想法吗?
答案 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>
它运作良好。