在横向模式下使用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也不会改变不需要的影响.有什么想法吗?
解决方法
好的,所以这是令人尴尬的直截了当!横向模式下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上并找到我所有问题的答案后,我最终决定正确提出的第一个问题原来就像这样微不足道……