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

标签 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 也没有改变不需要的效果。有什么想法吗?

最佳答案

好吧,这太简单了! 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 上潜伏了将近一年并找到了我所有问题的答案之后,我终于决定正确提出的第一个问题竟然像这样微不足道......

关于Android:横向模式下 Nexus 10 上不需要的左/右页边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861512/

相关文章:

android - 对Nfc Tag的读取范围有什么影响?我该怎么做才能让它变宽?

android - 如何从 Android Google Maps API V2 获取 MapView 的位图

android - Hilt Fragments 必须附加到 @AndroidEntryPoint Activity。找到 : class androidx. fragment.app.testing.FragmentScenario$EmptyFragmentActivity

android - 检测空 EditText 上的退格键

安卓开发 : Bitmaps on surfaceview leak Memory or too big?

android - Nexus 10,前置摄像头预览为黑色(无预览)

android - Card.io 在 Nexus 10 上的性能非常慢

android - 为 Nexus 10 准备应用程序

css - 仅针对 nexus 10 的媒体查询?

android - 如何在跨平台应用程序中处理基于 UI 的导航?